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)
執行示例 »