总结
豆包 AI 助手文章总结

Python中sqlite3模块 SQLite数据库操作模块sqlite3的CRUD指南

冰火之心
发布: 2025-06-05 14:33:03
原创
695人浏览过

python中,使用sqlite3模块进行数据库操作需遵循以下步骤:1.连接数据库并创建表;2.插入数据;3.查询数据;4.更新与删除数据;5.关闭连接。首先调用sqlite3.connect()连接数据库,若文件不存在则自动创建;使用create table if not exists语句建表,注意主键设置和提交更改。插入数据时使用insert into语句结合问号占位符防止sql注入,可执行单条或批量插入。查询时可用select配合where条件筛选,通过fetchall()或fetchone()获取结果。更新数据用update语句指定字段和条件,删除数据用delete语句并谨慎操作。最后完成操作后应关闭游标和连接,同时注意性能优化和事务控制。

在 Python 中,sqlite3 模块是标准库自带的一个轻量级数据库模块,适合小型项目或者本地开发使用。它支持完整的 SQL 语法,并且无需安装额外的数据库服务即可运行。本文将带你一步步了解如何用 sqlite3 进行常见的增删改查(CRUD)操作。


连接数据库与创建表

在进行任何操作前,首先要连接到 SQLite 数据库。如果文件不存在,sqlite3.connect() 会自动创建一个新文件。

import sqlite3

conn = sqlite3.connect('example.db')
cursor = conn.cursor()
登录后复制

接着可以创建一张表,比如存储用户信息的 users 表:

cursor.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        age INTEGER
    )
''')
conn.commit()
登录后复制
  • IF NOT EXISTS 是个好习惯,避免重复建表出错。
  • AUTOINCREMENT 让主键自动递增。
  • 最后别忘了 commit() 提交更改。

插入数据(Create)

插入数据是 CRUD 的第一步。可以使用 INSERT INTO 语句完成。

立即学习Python免费学习笔记(深入)”;

cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("张三", 25))
conn.commit()
登录后复制
  • 使用问号占位符(?)可以防止 SQL 注入。
  • 如果一次插入多条记录,可以用 executemany():
data = [("李四", 30), ("王五", 28)]
cursor.executemany("INSERT INTO users (name, age) VALUES (?, ?)", data)
conn.commit()
登录后复制

查询数据(Read)

查询是最常用的操作之一。基本的查询方式如下:

cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()

for row in rows:
    print(row)
登录后复制
  • fetchall() 获取所有结果,也可以用 fetchone() 取一条。
  • 加条件筛选更常见,例如:
cursor.execute("SELECT * FROM users WHERE age > ?", (25,))
登录后复制

注意参数要写成元组形式,即使只有一个值也得加逗号 (25,)。


更新与删除数据(Update & Delete)

更新数据使用 UPDATE 语句:

cursor.execute("UPDATE users SET age = ? WHERE name = ?", (26, "张三"))
conn.commit()
登录后复制

删除数据则使用 DELETE:

cursor.execute("DELETE FROM users WHERE age < ?", (18,))
conn.commit()
登录后复制

⚠️ 注意:

  • 更新和删除操作一定要小心,最好先执行 SELECT 确认影响范围。
  • 建议加上 WHERE 条件,否则可能误删整张表数据。

关闭连接与注意事项

操作完成后记得关闭游标和连接:

cursor.close()
conn.close()
登录后复制

一些小提示:

  • 在代码中频繁打开/关闭数据库连接会影响性能,可考虑复用连接。
  • 如果要做事务控制,可以在操作前使用 BEGIN 或设置 isolation_level=None。
  • SQLite 支持大部分标准 SQL 语法,但有些细节和 MySQL、PostgreSQL 不一样,要注意兼容性。

基本上就这些。掌握这几种操作,你就可以用 Python 轻松处理本地数据了。

以上就是Python中sqlite3模块 SQLite数据库操作模块sqlite3的CRUD指南的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号