Python MySQL 插入表
插入表
要填充 MySQL 表,请使用 "INSERT INTO" 语句。
示例
在 "customers" 表中插入一条记录
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
password="你的密码",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "条记录已插入。")
运行示例 »
重要提示:请注意语句: mydb.commit()
。这是使更改生效所必需的,否则表将不会发生任何更改。
插入多行
要将多行插入表中,请使用 executemany()
方法。
executemany()
方法的第二个参数是一个元组列表,其中包含您要插入的数据。
示例
使用数据填充 "customers" 表
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
password="你的密码",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
('Peter', 'Lowstreet 4'),
('Amy', 'Apple st 652'),
('Hannah', 'Mountain 21'),
('Michael', 'Valley 345'),
('Sandy', 'Ocean blvd 2'),
('Betty', 'Green Grass 1'),
('Richard', 'Sky st 331'),
('Susan', 'One way 98'),
('Vicky', 'Yellow Garden 2'),
('Ben', 'Park Lane 38'),
('William', 'Central st 954'),
('Chuck', 'Main Road 989'),
('Viola', 'Sideway 1633')
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "行已插入。")
运行示例 »
获取已插入的 ID
您可以通过查询游标对象来获取您刚刚插入的行的 ID。
注意:如果您插入多行,将返回最后插入行的 ID。
示例
插入一行并返回 ID
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
password="你的密码",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)
mydb.commit()
print("1 条记录已插入,ID:", mycursor.lastrowid)
运行示例 »