Kết nối và truy vấn MySQL từ Python

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.

Lên đầu trang