Python Insert Into Table
- Trang trước Tạo bảng MySQL
- Trang tiếp theo Chọn từ MySQL
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.")
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.")
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)
- Trang trước Tạo bảng MySQL
- Trang tiếp theo Chọn từ MySQL