我是新来的Python,并试图创建一个表格,将数据保存到数据库通过PyMySQL,但我有问题连接到数据库。我遵循了一个示例代码(我的版本如下)并彻底检查了所有语法和语音标记,但仍然收到以下错误。%s正确设置,但PyMySQL仍抱怨%d
File "c:\Users\Nimrod\Nimrod Dropbox\Dropbox\Nimrodsky\Python\Adiabatic Equation\DB connect with PyMySQL.py", line 10, in <module>
charset='utf8')
文件 “C:\ ProgramData \ Anaconda3 \ LIB \站点包\ pymysql__init __ PY”,行90,在连接 回报连接(* ARGS,** kwargs) 文件“C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ pymysql \ connections.py“,第706行,在init self.connect() 文件”C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ pymysql \ connections.py “,第922行,连接 self.host_info =”socket%s:%d“%(self.host,self.port) TypeError:%d格式:需要一个数字,而不是str
import pymysql
import pymysql.cursors
# Connect to the database
connection = pymysql.connect(host='sql8.freesqldatabase.com',
port='3306',
user='********',
password='**********',
db='*********',
charset='utf8')
try:
with connection.cursor() as cursor:
# Create a new record
sql = "INSERT INTO `client` (`ID`, `client_name`, `client_address_1`, `client_address_2`, `client_address_3`, `client_postcode`, `occupier_name`, `install_address_1`, `install_address_2`, `install_address_3`, `install_postcode`) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
cursor.execute(sql, ('1', 'Terry Jones', '10 DOwning Street', 'Guildford','Surrey', 'GU1 5HA', 'Paul Smith', 'Wimbledon Hill', 'Wimbledon', 'London', 'SW19 5QT'))
#connection is not autocommit by default. So you must commit to save
#your changes.
connection.commit()
with connection.cursor() as cursor:
# Read a single record
sql = "SELECT `id`, `occupier_name` FROM `client` WHERE `client_name`=%s"
cursor.execute(sql, ('Terry Jones',))
result = cursor.fetchone()
print (result)
finally:
connection.close
感谢那个博士学位,而不是代表我的一个愚蠢的错误,考虑到默认情况下PyMySQL打开端口3306,如果我留下了违规的线,那么我认为代码会起作用。再次感谢并保重。 – Nimrod