错误示范:
import pymysql
db = pymysql.connect('localhost', 'root', 'itcast', 'student')
cursor = db.cursor()
sql = "INSERT INTO student_login VALUES('%s','%s', '%s', '%s', '%s', '%s');" %('3', 'admin', '男', '1', '1', '1')
cursor.execute(sql)
db.close()
正确方法:
sql = "INSERT INTO admin_login VALUES ('2', 'admin', '2', '2')"
cursor.execute("insert into admin_login VALUES('2', 'admin', '2', '2');")
db.commit()
db.close()
比较两个代码,显然后者多了一行db.commit()
这里db.commit()是将sql语句提交到数据库进行执行的操作,如果没有这条语句会导致插入数据失败。
commit命令详解:
COMMIT命令用于把事务所做的修改保存到数据库,它把上一个COMMIT或ROLLBACK命令之后的全部事务都保存到数据库。
使用COMMIT提交当前事务,使事务中执行的变更永久化,所有事务的更改都将为其他事务可见,而且保证当崩溃发生时的可持续性;
commit()方法需要跟在增(insert)、删(delete)、改(update)、查(select)的任何execute()语句后面。commit是把查询语句提交到数据库内,而不只是要向数据库提交增、添的数据。