Rất nhiều ứng dụng thực tế cần đọc/ghi dữ liệu từ MySQL. Python kết nối MySQL dễ dàng qua thư viện như mysql-connector-python. Bài viết hướng dẫn những thao tác cốt lõi.
Cài đặt
pip install mysql-connector-python
Kết nối database
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="nguoi_dung",
password="mat_khau",
database="ten_db"
)
cursor = conn.cursor()
Truy vấn dữ liệu (SELECT)
cursor.execute("SELECT id, ten FROM nguoi_dung")
for id, ten in cursor.fetchall():
print(id, ten)
Thêm dữ liệu — dùng tham số an toàn
# ĐÚNG: dùng %s để chống SQL injection
cursor.execute(
"INSERT INTO nguoi_dung (ten, email) VALUES (%s, %s)",
("Minh", "[email protected]")
)
conn.commit() # nhớ commit khi ghi
Cập nhật và xóa
cursor.execute("UPDATE nguoi_dung SET ten=%s WHERE id=%s", ("An", 1))
cursor.execute("DELETE FROM nguoi_dung WHERE id=%s", (2,))
conn.commit()
Đóng kết nối
cursor.close()
conn.close()
Cảnh báo bảo mật quan trọng
Không bao giờ ghép chuỗi trực tiếp vào câu SQL (như f"... WHERE ten='{ten}'") — đó là lỗ hổng SQL injection. Luôn dùng tham số %s như ví dụ trên. Đây là nguyên tắc bảo mật cơ bản nhưng cực kỳ quan trọng.
