Python Insert Into Table

Chèn 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 bản ghi vào bảng "customers":

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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:Lưu ý câu lệnh mydb.commit()Cần phải thay đổi, nếu không bảng sẽ không có bất kỳ thay đổi nào.

Chèn nhiều hàng

Để chèn nhiều hàng vào bảng, hãy sử dụng executemany() Phương thức.

Tham số thứ hai của phương thức executemany() là danh sách các cặp tuple chứa dữ liệu cần chèn:

Ví dụ

Dùng dữ liệu để điền vào bảng "customers":

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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ụ

Lấy ID đã chèn

Bạn có thể hỏi đối tượng cursor để lấy id của hàng chèn mới nhất.

Chú thích:Nếu chèn nhiều hàng, sẽ trả về id của hàng chèn cuối cùng.

Ví dụ

Chèn một hàng, và trả về id:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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ụ