Lọc bản ghi trong cơ sở dữ liệu bằng mệnh đề WHERE của SQL
Giờ bạn đã có thể chạy một truy vấn SQL cơ bản để chọn bản ghi từ bất kỳ bảng nào trong cơ sở dữ liệu, đồng thời tùy chỉnh đơn giản để chọn các cột và số lượng dòng cụ thể.
Còn vài kỹ thuật truy vấn SQL chuẩn khác sẽ giúp bạn trên hành trình trở thành một “ninja” SQL.
Ví dụ, giả sử bạn muốn lấy tất cả bản ghi từ bảng Customer của cơ sở dữ liệu Chinook mà Country là 'Canada'. Bạn có thể làm rất dễ trong SQL bằng một câu SELECT kèm mệnh đề WHERE như sau:
SELECT * FROM Customer WHERE Country = 'Canada'
Thực tế, bạn có thể lọc bất kỳ câu SELECT nào theo bất kỳ điều kiện nào bằng mệnh đề WHERE. Điều này được gọi là lọc bản ghi.
Trong bài tập tương tác này, bạn sẽ chọn tất cả bản ghi của bảng Employee mà 'EmployeeId' lớn hơn hoặc bằng 6.
Các gói đã được import sẵn như sau:
import pandas as pd
from sqlalchemy import create_engine
Bắt đầu truy vấn nào!
Bài tập này là một phần của khóa học
Nhập dữ liệu vào Python: Giới thiệu
Hướng dẫn bài tập
- Hoàn thiện đối số của
create_engine()để tạo engine cho cơ sở dữ liệu SQLite'Chinook.sqlite'. - Thực thi truy vấn selects all records from bảng
Employeewhere'EmployeeId'lớn hơn hoặc bằng6. Dùng toán tử>=và gán kết quả chors. - Gọi phương thức
fetchall()trênrsđể lấy tất cả bản ghi trongrs. Lưu chúng vào DataFramedf. - Dùng đối tượng
rsđể đặt tên cột cho DataFrame trùng với tên các cột của bảng.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Create engine: engine
engine = create_engine(____)
# Open engine in context manager
# Perform query and save results to DataFrame: df
with engine.connect() as con:
rs = con.execute(____)
df = pd.DataFrame(____)
df.columns = ____
# Print the head of the DataFrame df
print(df.head())