Python内置数据库:SQLite3从入门到实战全解析
在Python的数据生态中,SQLite3就像一位隐形的守护者,它不需要安装服务器、不需要配置账号密码,甚至不需要额外的依赖包,却能支撑起从桌面工具到爬虫缓存的无数数据存储需求。作为Python标准库的一员,它凭借“零配置、单文件、跨平台”的特性,成为开发者处理本地数据的首选工具。
快速上手:连接数据库与创建表
SQLite的核心魅力在于它的极简与高效。与MySQL、PostgreSQL等客户端-服务器架构的数据库不同,SQLite直接将数据库引擎嵌入到应用程序中,整个数据库以单个.db文件的形式存储在磁盘上。这种设计不仅节省了系统资源,更让数据迁移变得异常简单——只需复制一个文件,就能完成整个数据库的备份或转移。
对于初学者而言,SQLite的学习门槛极低。只需导入Python内置的sqlite3模块,就能通过简单的代码完成数据库操作。连接数据库时,sqlite3.connect(‘test.db’)会自动创建或打开指定文件;创建游标后,即可通过cursor.execute()执行SQL语句。这种“连接-游标-执行”的三步操作模式,让数据库编程变得清晰易懂。
import sqlite3
# 1. 连接数据库(如果文件不存在会自动创建)
conn = sqlite3.connect('example.db')
# 2. 创建游标对象
cursor = conn.cursor()
# 3. 执行建表语句
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
email TEXT UNIQUE
)
''')
# 4. 提交事务
conn.commit()
# 5. 关闭连接
conn.close()
核心操作:增删改查实战
掌握核心语法是入门的关键。创建表时,使用CREATE TABLE IF NOT EXISTS可避免重复建表错误,字段类型如INTEGER、TEXT、REAL能满足大部分数据存储需求。插入数据时,务必使用?占位符进行参数化查询,例如cursor.execute(“INSERT INTO users (name, age) VALUES (?, ?)”, (name, age)),这不仅能防止SQL注入攻击,还能提升代码的可读性。
查询数据时,fetchone()、fetchall()、fetchmany()三个方法各有用途:前者适合获取单条记录,中者用于遍历所有结果,后者则能在处理大数据集时避免内存溢出。更新和删除操作必须加上WH
转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/m0_61749394/article/details/160931166



