最近在学习用Python编程,一本书,外加一些参考程序。 不过书籍的信息,还是有限的,发现了下面这个网站,还是挺好用的。
不过一味的模仿还是会出问题的。文中给出的源代码如下
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES (%s, %s, %s, %s, %s )" % \
('Mac', 'Mohan', 20, 'M', 2000)
而我仿照着,写出了如下的代码:
sql = "INSERT INTO EMPLOYEE(FIRSTNAME, LASTNAME, BIRTHDATE, SEX) VALUES (%s, %s, %s, %s)"
data = ('xxx'),'xx','1984-09-01','F')
尝试的向Mysql写入一些数据,但是发现,一直没有成功。尝试着读取表格信息,没有问题呀!这时候,我陷入了深深的沉思。然后Google了下。恩,问题,总会有解决的方案的。然后,我终于发现了问题,sql语句的语法似乎规定就是必须有引号将值包起来。也就是说源代码的引号要输入两次。后来我嫌弃太麻烦,读起来太累了。又继续搜索。后来找到了如下的解决方案。天下清净了
sql = "INSERT INTO EMPLOYEE(FIRSTNAME, LASTNAME, BIRTHDATE, SEX) VALUES (%s, %s, %s, %s)"
data = (repr('Ronghu'),repr('li'),repr('1984-09-01'),repr('F'))
print(sql%data)
try:
# 执行sql语句
cursor.execute(sql%data)
# 执行sql语句
db.commit()