Giới thiệu
Bạn đang bắt đầu một dự án web nhỏ và cần lưu trữ dữ liệu? Hoặc đơn giản chỉ muốn thử nghiệm cách truy xuất dữ liệu từ cơ sở dữ liệu trong Python? MySQL là một trong những hệ quản trị cơ sở dữ liệu phổ biến nhất, và Python lại là ngôn ngữ lập trình được ưa chuộng nhờ sự đơn giản và mạnh mẽ của nó. Kết hợp cả hai, bạn sẽ có một cặp đôi hoàn hảo để xây dựng các ứng dụng dữ liệu nhanh chóng. Bài viết này sẽ hướng dẫn bạn cách kết nối MySQL với Python chỉ trong vài phút, kèm theo các ví dụ code thực tế và lưu ý quan trọng.
Tại sao nên sử dụng MySQL với Python?
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, được sử dụng rộng rãi trong các ứng dụng web, mobile, và cả các hệ thống lớn. Nó nhanh, ổn định, và có cộng đồng hỗ trợ rộng lớn. Python, với sự đơn giản và linh hoạt, là lựa chọn tuyệt vời để tương tác với MySQL. Việc kết hợp MySQL và Python giúp bạn dễ dàng quản lý, truy vấn, và xử lý dữ liệu, từ đó xây dựng các ứng dụng hiệu quả.
Chuẩn bị môi trường
Cài đặt MySQL
Để bắt đầu, bạn cần cài đặt MySQL trên máy của mình. Nếu bạn chưa có, hãy truy cập trang chủ MySQL và tải bản phù hợp với hệ điều hành của bạn. Sau khi cài đặt xong, khởi động MySQL và tạo một cơ sở dữ liệu test để thực hành.
Cài đặt driver cho Python
Python không thể kết nối trực tiếp với MySQL, vì vậy bạn cần một driver – một thư viện giúp Python giao tiếp với MySQL. Ở đây, chúng ta sẽ sử dụng mysql-connector-python, một driver chính thức của MySQL. Mở terminal hoặc command prompt và gõ lệnh:
pip install mysql-connector-pythonChờ một chút để quá trình cài đặt hoàn tất.
Kết nối MySQL với Python
Các bước cơ bản
Để kết nối MySQL với Python, bạn cần:
1. Nhập thư viện mysql-connector-python.
2. Tạo kết nối đến cơ sở dữ liệu MySQL.
3. Tạo đối tượng cursor để thực thi các câu lệnh SQL.
4. Thực thi câu lệnh và xử lý kết quả.
5. Đóng kết nối khi hoàn tất.
Ví dụ code đơn giản
Dưới đây là một ví dụ đơn giản để kết nối MySQL và thực hiện một vài thao tác cơ bản:
import mysql.connector
# 1. Tạo kết nối
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="testdb"
)
# 2. Tạo đối tượng cursor
cursor = db.cursor()
# 3. Tạo bảng (nếu chưa có)
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT)")
# 4. Chèn dữ liệu
cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 25)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 30)")
db.commit() # Lưu thay đổi
# 5. Truy vấn dữ liệu
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
# 6. Đóng kết nối
cursor.close()
db.close()