Cách INSERT dữ liệu vào database MySQL bằng Python
Hướng dẫn cách chèn dữ liệu vào bảng trong database MySQL bằng Python sử dụng thư viện mysql-connector-python
.
Bài viết này hướng dẫn bạn cách kết nối tới một database MySQL và sử dụng Python để chèn dữ liệu vào bảng thông qua câu lệnh SQL INSERT.
import mysql.connector
# Kết nối đến database MySQL
conn = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="test_db"
)
# Tạo một cursor object
cursor = conn.cursor()
# Câu lệnh SQL INSERT
sql = "INSERT INTO students (name, age, grade) VALUES (%s, %s, %s)"
values = ("Nguyen Van A", 21, "A")
# Thực thi câu lệnh INSERT
cursor.execute(sql, values)
# Lưu thay đổi vào database
conn.commit()
print(f"Đã chèn {cursor.rowcount} bản ghi vào bảng.")
# Đóng kết nối
cursor.close()
conn.close()
Giải thích chi tiết từng dòng code:
import mysql.connector
: Import thư việnmysql.connector
để có thể kết nối với MySQL.conn = mysql.connector.connect(...)
: Kết nối đến database MySQL bằng cách sử dụng các thông tin kết nối nhưhost
,user
,password
, vàdatabase
.cursor = conn.cursor()
: Tạo mộtcursor
để có thể thực hiện các câu truy vấn SQL.sql = "INSERT INTO students (name, age, grade) VALUES (%s, %s, %s)"
: Định nghĩa câu lệnh SQL INSERT với các giá trị được thay thế bằng%s
.values = ("Nguyen Van A", 21, "A")
: Tạo một tuple chứa các giá trị sẽ được chèn vào bảng.cursor.execute(sql, values)
: Thực thi câu lệnh INSERT với các giá trị đã cung cấp.conn.commit()
: Lưu thay đổi vào database.print(f"Đã chèn {cursor.rowcount} bản ghi vào bảng.")
: In ra số lượng bản ghi đã được chèn.cursor.close()
vàconn.close()
: Đóngcursor
và kết nối đến database.
Yêu cầu hệ thống:
- Python 3.x
- Thư viện:
mysql-connector-python
Cách cài đặt các thư viện để chạy được đoạn mã Python trên:
Sử dụng pip để cài đặt thư viện:
pip install mysql-connector-python
Lời khuyên:
- Hãy đảm bảo rằng cấu trúc bảng và các cột của bạn tương thích với các giá trị bạn muốn chèn.
- Luôn sử dụng
conn.commit()
sau khi chèn dữ liệu để đảm bảo các thay đổi được lưu vào database.