开始使用免费开始使用

从表中选择数据:原生 SQL

正如您在视频中看到的,要访问并操作数据库中的数据,首先需要通过在 engine 上调用 .connect() 方法来建立连接。这是因为您之前使用的 create_engine() 函数返回的是一个 engine 实例,但它并不会真正打开连接,除非调用需要连接的操作,例如查询。

利用我们刚学到的 SQL,并在连接上应用 .execute() 方法,您可以使用原生 SQL 查询来获取 census 表中的所有记录。.execute() 方法返回的对象是 ResultProxy。在这个 ResultProxy 上,您可以调用 .fetchall() 方法来获取结果——也就是 ResultSet

在本练习中,您将使用传统的 SQL 查询。请注意,当您使用原生 SQL 执行查询时,您是直接在数据库中查询该表。尤其是不需要进行反射步骤。

在下一个练习中,您将转向使用 SQLAlchemy,并开始了解它的优势。加油!

本练习是课程的一部分

Python 中的数据库入门

查看课程

练习说明

  • 使用 engine.connect() 方法创建一个连接。
  • 构建一条 SQL 语句以查询 census所有列,并将其存入 stmt。注意,SQL 语句必须是一个字符串
  • connection 上使用 .execute().fetchall() 方法,并将结果存入 results。记住 .execute() 要先于 .fetchall(),且需要将 stmt 传给 .execute()
  • 打印 results

交互式实操练习

通过完成这段示例代码来试试这个练习。

from sqlalchemy import create_engine
engine = create_engine('sqlite:///census.sqlite')

# Create a connection on engine
connection = ___

# Build select statement for census table: stmt
stmt = ____

# Execute the statement and fetch the results: results
results = ____

# Print results
print(____)
编辑并运行代码