SQL: Học Python cho người bắt đầu
1. Giới thiệu
Bạn có bao giờ muốn sử dụng Python để truy vấn dữ liệu từ SQL không? SQL (Structured Query Language) là ngôn ngữ quan trọng giúp chúng ta làm việc với cơ sở dữ liệu. Trong bài viết này, bạn sẽ học cách kết nối và thao tác với SQL bằng Python một cách dễ dàng.
2. Cài đặt thư viện cần thiết
Trước khi bắt đầu, hãy đảm bảo bạn đã cài đặt thư viện sqlite3
(có sẵn trong Python) hoặc sqlalchemy
để kết nối với SQL Server, MySQL, hoặc PostgreSQL.
Cài đặt SQLAlchemy:
pip install sqlalchemy
Cài đặt SQLite (nếu dùng SQLite, Python đã tích hợp sẵn):
import sqlite3
3. Kết nối với cơ sở dữ liệu
3.1. Kết nối với SQLite
SQLite là hệ quản trị cơ sở dữ liệu nhỏ gọn, không cần cài đặt phức tạp.
import sqlite3
# Kết nối đến database (nếu chưa có, SQLite sẽ tự tạo file database)
conn = sqlite3.connect("database.db")
cursor = conn.cursor()
# Tạo bảng mẫu
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER
)
""")
conn.commit()
print("Database connected and table created!")
3.2. Kết nối với MySQL
Nếu bạn sử dụng MySQL, bạn cần cài đặt thư viện mysql-connector-python
:
pip install mysql-connector-python
Sau đó, kết nối MySQL:
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="mydatabase"
)
cursor = conn.cursor()
cursor.execute("SELECT DATABASE();")
print("Connected to:", cursor.fetchone()[0])
4. Truy vấn SQL bằng Python
4.1. Thêm dữ liệu vào bảng
Sau khi đã kết nối, bạn có thể thêm dữ liệu vào bảng bằng INSERT
:
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Alice", 25))
conn.commit()
print("Data inserted!")
4.2. Lấy dữ liệu từ bảng
Dùng SELECT
để lấy dữ liệu từ bảng users
:
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
4.3. Cập nhật dữ liệu
Nếu bạn muốn cập nhật tuổi của một người, dùng UPDATE
:
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (30, "Alice"))
conn.commit()
print("Data updated!")
4.4. Xóa dữ liệu
Dùng DELETE
để xóa dữ liệu khỏi bảng:
cursor.execute("DELETE FROM users WHERE name = ?", ("Alice",))
conn.commit()
print("Data deleted!")
5. Kết hợp Pandas với SQL
Pandas là thư viện mạnh mẽ giúp bạn thao tác dữ liệu dễ dàng hơn. Bạn có thể dùng read_sql_query()
để lấy dữ liệu từ SQL vào DataFrame.
import pandas as pd
df = pd.read_sql_query("SELECT * FROM users", conn)
print(df)
6. Kết luận
Python và SQL là bộ đôi hoàn hảo để làm việc với dữ liệu. Trong bài viết này, bạn đã học cách:
✅ Kết nối Python với SQL (SQLite, MySQL).
✅ Chạy các truy vấn SQL: SELECT
, INSERT
, UPDATE
, DELETE
.
✅ Kết hợp Pandas để thao tác dữ liệu dễ dàng hơn.
Hãy bắt tay vào thực hành ngay để làm chủ SQL với Python! 🚀
📌 Bạn có thể thích:
📢 Chia sẻ bài viết nếu thấy hữu ích nhé!