在 Python 开发中,SQLite 是一种轻量级的关系型数据库,它无需单独安装数据库服务器,所有数据存储在一个单独的文件中,适用于小型应用、移动开发、数据分析等场景。Python 提供了内置的 sqlite3
模块,方便我们操作 SQLite 数据库。本文将详细介绍 sqlite3
模块的使用,包括数据库连接、表操作、数据增删改查(CRUD),以及常见的事务管理和参数化查询,帮助你快速掌握 Python 操作 SQLite 数据库的方法。
1. 为什么选择 SQLite?
✅ 零配置:Python 内置支持,无需安装额外数据库服务。
✅ 文件存储:数据库仅是一个 .db
文件,便于管理。
✅ 轻量高效:适用于小型应用、测试环境、移动端存储。
✅ SQL 支持:支持 SQL 语法,易于与其他数据库迁移。
📌 SQLite 适用场景:
- 桌面应用(如浏览器、记事本应用存储用户数据)。
- 移动应用(Android、iOS 本地数据库)。
- 数据分析(存储小型数据集,替代 CSV 文件)。
2. 连接 SQLite 数据库
2.1 连接或创建数据库
使用 sqlite3.connect()
连接数据库:
import sqlite3
# 连接数据库(如果不存在则创建)
conn = sqlite3.connect("example.db")
print("数据库连接成功")
📌 特点:
- 如果
example.db
存在,则连接它,否则自动创建该文件。
2.2 获取游标(Cursor)
数据库操作需要使用 游标对象(cursor):
cursor = conn.cursor()
📌 作用:
cursor.execute(sql)
用于执行 SQL 语句。cursor.fetchall()
获取查询结果。
3. 创建表(CREATE TABLE
)
使用 CREATE TABLE
语句创建数据库表:
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
city TEXT
)
''')
conn.commit() # 提交更改
print("表创建成功")
📌 解析:
id INTEGER PRIMARY KEY AUTOINCREMENT
:主键自增。TEXT NOT NULL
:name
必须有值。IF NOT EXISTS
:避免重复创建表。