Python的SQLite数据库是一个轻量级的、独立的、无服务器的、零配置的、事务性的SQL数据库引擎。SQLite直接集成在Python的标准库中,通过sqlite3模块提供对SQLite数据库的访问。这使得Python开发者能够非常方便地在他们的应用程序中嵌入数据库功能,而无需安装和配置额外的数据库服务器。
1. sqlite基本操作
如何使用sqlite3模块
1.1. 连接到SQLite数据库
如果数据库文件不存在,SQLite会自动在当前目录创建一个新的数据库文件。如果文件已存在,SQLite会打开该文件。
import sqlite3
# 连接到SQLite数据库
# 如果文件不存在,会自动在当前目录创建:
conn = sqlite3.connect('example.db')
1.2. 创建一个Cursor对象
Cursor对象让你能够执行SQL命令。
# 创建一个Cursor:
cursor = conn.cursor()
1.3. 执行SQL语句
你可以使用Cursor对象执行SQL语句,并通过Cursor的fetchall()方法来获取所有(或符合条件的)行。
# 执行一条SQL语句,创建user表:
cursor.execute('''CREATE TABLE IF NOT EXISTS user
(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# 插入一行记录
cursor.execute("INSERT INTO user (name, age) VALUES ('Alice', 30)")
# 通过rowcount获得插入的行数:
print(cursor.rowcount)
# 提交事务:
conn.commit()
# 查询所有记录:
cursor.execute("SELECT id, name, age FROM user")
print(cursor.fetchall())
1.4. 关闭Cursor和Connection
完成数据库操作后,应关闭Cursor和Connection对象,以释放数据库连接。
# 关闭Cursor:
cursor.close()
# 关闭Connection:
conn.close()
1.5. 注意事项
在执行INSERT、UPDATE、DELETE等修改数据的操作后,需要调用conn.commit()来提交事务,确保修改被保存到数据库。
SQLite默认是自动开启事务的,每当你开始执行一系列的更改数据库的操作时,SQLite就开启一个事务。如果你在修改后没有调用commit(),那么这些更改在关闭数据库连接或遇到错误时可能会丢失。
可以通过conn.rollback()来回滚事务,撤销自上次调用commit()或rollback()以来所做的所有更改。
2. pandas操作sqlite
在Python中,使用pandas库来读写SQLite数据库