Python 的标准库中没有提供数据库访问的接口。但是,Python 有许多第三方库可以提供数据库访问的功能。
一种常见的选择是使用 Python 的 sqlite3
模块来访问 SQLite 数据库。SQLite 是一种轻量级的数据库,可以嵌入在 Python 程序中,不需要单独的数据库服务器。下面是一个简单的例子,展示了如何使用 sqlite3
模块来创建一个数据库并插入一些数据:
import sqlite3
# 连接到 SQLite 数据库
# 数据库文件是 test.db
# 如果文件不存在,会自动在当前目录创建
conn = sqlite3.connect('test.db')
# 创建一个 Cursor
cursor = conn.cursor()
# 执行一条 SQL 语句,创建 users 表
cursor.execute('CREATE TABLE users (id varchar(20) primary key, name varchar(20))')
# 继续执行一条 SQL 语句,插入一条记录
cursor.execute('INSERT INTO users (id, name) values (\'1\', \'Michael\')')
# 通过rowcount获得插入的行数
print(cursor.rowcount)
# 关闭 Cursor
cursor.close()
# 提交事务
conn.commit()
# 关闭 Connection
conn.close()
除了 sqlite3
模块,还有许多其他的 Python 库可以用于访问各种不同的数据库,包括 MySQL、PostgreSQL、Oracle 等等。
当然,也可以使用其他的 Python 库来访问 MySQL 数据库,包括 PyMySQL 和 mysql-connector-python。这些库的用法都与 sqlite3
模块类似,可以使用 connect
函数连接到数据库,然后使用 cursor
对象执行 SQL 语句。
- PostgreSQL: 使用 Python 的 psycopg2 模块可以访问 PostgreSQL 数据库。和其他数据库模块一样,可以使用
connect
函数连接到数据库,然后使用cursor
对象执行 SQL 语句。 - Oracle: 可以使用 Python 的 cx_Oracle 模块访问 Oracle 数据库。和其他数据库模块一样,可以使用
connect
函数连接到数据库,然后使用cursor
对象执行 SQL 语句。
此外,还有许多其他的 Python 库可以用于访问各种不同的数据库,包括 Microsoft SQL Server、MongoDB 等等。
对于使用 Python 访问数据库的更多信息,可以参考 Python 文档中的 sqlite3
模块文档或其他数据库访问库的文档。
在 Python 中,使用数据库通常需要执行以下步骤:
- 导入所需的数据库模块,比如
sqlite3
模块。 - 使用
connect
函数连接到数据库。 - 创建一个
cursor
对象。 - 使用
cursor
对象执行 SQL 语句。 - 处理查询结果。
- 关闭
cursor
对象。 - 关闭数据库连接。
下面是一个简单的例子,展示了如何使用 sqlite3
模块来查询数据库中的数据:
import sqlite3
# 连接到 SQLite 数据库
# 数据库文件是 test.db
# 如果文件不存在,会自动在当前目录创建
conn = sqlite3.connect('test.db')
# 创建一个 Cursor
cursor = conn.cursor()
# 执行查询语句
cursor.execute('SELECT * FROM users')
# 获得查询结果
values = cursor.fetchall()
print(values)
# 关闭 Cursor
cursor.close()
# 关闭 Connection
conn.close()
上面的代码执行了一条 SELECT
语句,查询 users
表中的所有记录。然后使用 fetchall
函数获得查询结果,并将结果打印出来。
注意,在执行完数据库操作后,一定要关闭 cursor
和数据库连接,以释放资源。