上一章我们已经在数据库test
中创建了一个表user
,包含了id
,first_name
和last_name
三个属性,其中id
自增,所以插入数据时只需要插入其他两个字段。
我们先新建一个insert_data.py
文件。
先实现插入的SQL语句:
add_user = ("INSERT INTO user "
"(first_name, last_name) "
"VALUES (%s, %s)")
data_user = ('Geert', 'Vanderkelen')
其中add_user
是SQL语句,data_user
是要插入的数据,first_name
和last_name
分别为’Geert’和’Vanderkelen’
然后同前面创建表一样,使用execute()
函数执行SQL语句。
cursor.execute(add_user, data_user)
user_id = cursor.lastrowid
print user_id
conn.commit()
cursor
的lastrowid
属性存放了上一次insert的id。
因为Connector/Python
默认关闭autocommit
所以我们这里需要自己commit
,才能把数据插入到数据库。
下面是全部的代码,在终端输入python insert_data.py
就可以运行啦。
import mysql.connector
DB_NAME = 'test'
add_user = ("INSERT INTO user "
"(first_name, last_name) "
"VALUES (%s, %s)")
data_user = ('Geert', 'Vanderkelen')
conn = mysql.connector.connect(user = 'root', password = 'root123')
cursor = conn.cursor()
conn.database = DB_NAME
cursor.execute(add_user, data_user)
user_id = cursor.lastrowid
print user_id
conn.commit()
cursor.close()
conn.close()
然后进入mysql查看,会发现数据已经插入啦。