Module 04 · Accessing Databases using Python
How to Access Databases Using Python使用 Python 访问数据库
您好,在本视频中,您将学习如何使用 Python 访问数据库。数据库是数据科学家强大的工具。
学习目标与实践
完成本模块后,您将能够:
- 解释使用 Python 连接数据库相关的基本概念。
- 在 Jupyter Notebooks 中,使用 SQL 创建表、加载数据和查询数据,并分析数据。
- 解释 Python 应用程序连接数据库的基本概念。
- 描述 SQL API,并列举流行 SQL 数据库管理系统使用的专有 API。
📝 实验任务: 在实验作业中,您将学习如何在云端创建实例、连接数据库、使用 SQL 查询数据,并使用 Python 分析数据。
一、Python 连接数据库的优势
Python 是一种流行的脚本语言,因其以下优势而被广泛用于连接数据库和数据科学领域:
- 丰富的生态系统: Python 生态系统非常丰富,为数据科学提供了易于使用的工具,包括 NumPy、Pandas、Matplotlib 和 SciPy 等流行软件包。
- 易学性与简洁语法: Python 语法简单,易于学习。
- 跨平台性: 由于其开源特性,Python 已被移植到多个平台。只要避免使用任何依赖于特定系统的功能,您的 Python 程序可以在任何这些平台上运行而无需修改。
- 支持关系数据库: Python 支持关系数据库系统。
- DB API 简化访问: 存在 Python 数据库 API(通常称为 DB API),使得编写访问数据库的 Python 代码更加容易。
- 文档完善: 有关 Python 的详细文档很容易获取。
二、Jupyter Notebooks 简介
Notebooks 在数据科学领域非常流行,因为它们运行在一个允许创建和共享包含实时代码、方程、可视化和解释性文本的文档的环境中。
- Notebook 界面: 是一种用于编程的虚拟 Notebook 环境。
- Notebook 示例: Mathematica Notebook、Maple Worksheet、Matlab Notebook、IPython Jupyter、R Markdown、Apache Zeppelin、Apache Spark Notebook 和 Databricks Cloud。
在本模块中,我们将使用 Jupyter Notebooks。
Jupyter Notebook 的优势
Jupyter Notebook 是一个开源 Web 应用程序,允许您创建和共享包含实时代码、方程、可视化和叙述性文本的文档。
- 多语言支持: Notebook 支持包括 Python、R、Julia 和 Scala 在内的 40 多种编程语言。
- 易于共享: Notebooks 可以通过电子邮件、Dropbox、GitHub 和 Jupyter Notebook Viewer 等方式共享。
- 丰富的交互式输出: 您的代码可以生成丰富的交互式输出,包括 HTML、图像、视频、LaTeX 和自定义类型。
- 大数据工具集成: 您可以利用 Apache Spark 等大数据工具(通过 Python、R 和 Scala),并使用 Pandas、Scikit-learn、ggplot2 和 TensorFlow 等库来探索相同的数据。
Python 访问数据库的典型流程
典型的用户流程是:使用 Jupyter Notebook(一个基于 Web 的编辑器)编写 Python 代码,通过某种机制与数据库管理系统 (DBMS) 进行通信。Python 代码通过 API 调用连接到数据库。
三、SQL API 与专有 API

我们将解释 SQL API 和 Python DB API 的基础知识。
应用程序编程接口 (API)
应用程序编程接口 (API) 是一组可供调用的函数,用于访问某种类型的服务。
SQL API
SQL API 由库函数调用组成,作为 DBMS 的应用程序编程接口 (API)。
- 作用: 应用程序通过调用 API 中的函数来将 SQL 语句传递给 DBMS,并调用其他函数从 DBMS 检索查询结果和状态信息。
SQL API 的基本操作
典型的 SQL API 基本操作流程如下:

- 连接: 应用程序程序通过一个或多个 API 调用启动其数据库访问,将程序连接到 DBMS。
- 发送语句: 程序在缓冲区中将 SQL 语句构建为文本字符串,然后进行 API 调用,将缓冲区内容传递给 DBMS。
- 状态与错误处理: 应用程序程序进行 API 调用来检查其 DBMS 请求的状态并处理错误。
- 断开连接: 应用程序程序通过 API 调用与数据库断开连接,结束其数据库访问。
流行 SQL DBMS 的专有 API
每个数据库系统都有自己的库。下表列出了一些应用程序及其对应的 SQL API:

| 应用程序/数据库 | 专有 SQL API | 描述 |
|---|---|---|
| MySQL | MySQL C API | 提供对 MySQL 客户端-服务器协议的低级别访问,使 C 程序能够访问数据库内容。 |
| PostgreSQL | Psycopg2 API | 连接 Python 应用程序与 PostgreSQL 数据库。 |
| IBM DB2 | IBM_DB API | 用于连接 Python 应用程序与 IBM DB2 数据库。 |
| SQL Server | DB-Lib API | 用于连接到 SQL Server 数据库。 |
| Microsoft Windows OS | ODBC | 用于 Microsoft Windows 操作系统的数据库访问。 |
| Oracle | OCI | 由 Oracle 数据库使用。 |
| Java 应用程序 | JDBC | 由 Java 应用程序使用。 |
感谢观看本视频。
您是否希望我为您详细解释 Python DB API 标准?