Python MySQL Chèn vào bảng
Chèn vào bảng
Để điền vào bảng trong MySQL, hãy sử dụng câu lệnh "INSERT INTO".
Ví dụ
Chèn một bản ghi vào bảng "khách hàng":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user=" yourusername ",
password=" yourpassword ",
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, "record inserted.")
Chạy ví dụ » Quan trọng!: Hãy lưu ý câu lệnh: mydb.commit()
. Cần phải thực hiện các thay đổi, nếu không thì không có thay đổi nào được thực hiện đối với bảng.
Chèn nhiều hàng
Để chèn nhiều hàng vào một bảng, hãy sử dụng phương thức executemany()
.
Tham số thứ hai của phương thức executemany()
là danh sách các bộ dữ liệu, chứa dữ liệu bạn muốn chèn:
Ví dụ
Điền dữ liệu vào bảng "khách hàng":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user=" yourusername ",
password=" yourpassword ",
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, "was inserted.")
Chạy ví dụ » Nhận ID được chèn
Bạn có thể lấy id của hàng bạn vừa chèn bằng cách hỏi đối tượng con trỏ.
Lưu ý: Nếu bạn chèn nhiều hàng, id của hàng được chèn cuối cùng sẽ được trả về.
Ví dụ
Chèn một hàng và trả về ID:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user=" yourusername ",
password=" yourpassword ",
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 record
inserted, ID:", mycursor.lastrowid)
Chạy ví dụ »