使用 SQL 的 WHERE 过滤数据库记录
您现在已经可以执行基础的 SQL 查询,从数据库的任意表中选择记录;您也能做一些简单的定制,只选择特定的列与行数。
还有一些标准的 SQL 查询技巧将帮助您进一步提升。
例如,假设您想从 Chinook 数据库的 Customer 表中获取所有 Country 为 'Canada' 的记录。使用 SQL 的 SELECT 语句配合 WHERE 子句即可轻松实现:
SELECT * FROM Customer WHERE Country = 'Canada'
实际上,您可以为任意 SELECT 语句添加 WHERE 子句,以任意条件进行筛选。这就叫做对记录进行「过滤」。
在本互动练习中,您将选择 Employee 表中所有 'EmployeeId' 大于等于 6 的记录。
相关包已按如下方式导入:
import pandas as pd
from sqlalchemy import create_engine
开始查询吧!
本练习是课程的一部分
Python 数据导入入门
练习说明
- 补全
create_engine()的参数,以为 SQLite 数据库'Chinook.sqlite'创建引擎。 - 执行查询:selects
Employee表中的 all 记录,且 where'EmployeeId'大于等于6。使用>=运算符,并将结果赋给rs。 - 对
rs调用fetchall()方法以获取所有记录。将其存入 DataFramedf。 - 使用
rs对象,将 DataFrame 的列名设置为与表列名相对应的名称。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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())