Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
发布时间 - 2026-01-11 02:17:10 点击率:次本文实例讲述了Python操作SQLite数据库的方法。分享给大家供大家参考,具体如下:

SQLite简介
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起MySQL、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有15个年头,SQLite也迎来了一个版本 SQLite 3已经发布。
SQLite数据库的使用
1.导入Python SQLite数据库模块
python2.5版本以后内置SQLite数据库
import sqlite3
2. 创建/打开数据库
调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开
conn = sqlite3.connect("E:/test.db")
或者也可以在内存中创建
conn = sqlite3.connect(":memory:")
3.数据库连接对象
打开数据库时返回的对象conn就是一个数据库连接对象,它可以有以下操作:
commit()--事务提交
rollback()--事务回滚
close()--关闭一个数据库连接
cursor()--创建一个游标
关于commit(),如果isolation_level隔离级别默认,那么每次对数据库的操作,都需要使用该命令,你也可以设置isolation_level=None,这样就变为自动提交模式。
4.使用游标查询数据库
我们需要使用游标对象SQL语句查询数据库,获得查询对象。 通过以下方法来定义一个游标。
cu=conn.cursor()
游标对象有以下的操作:
execute()--执行sql语句
executemany--执行多条sql语句
close()--关闭游标
fetchone()--从结果中取一条记录,并将游标指向下一条记录
fetchmany()--从结果中取多条记录
fetchall()--从结果中取出所有记录
scroll()--游标滚动
SQLite数据库操作
1. 创建数据库表
cu.execute("create table user (id integer primary key,name varchar(20) UNIQUE,age integer,comment text NULL)")
# 创建一张user表,表中有id(主键),名字(唯一),年龄,备注(默认为空)
2. 插入数据
请注意避免以下写法:
# 这样写会导致注入攻击
pid=200
c.execute("... where id= '%s'" % id)
正确的做法如下,如果t只是单个数值,也要采用t=(n,)的形式,因为元组是不可变的。
for user in[(0,'aaa',111,'aaaa'),(1,'bbb',222,'bbbb')]:
conn.execute("insert into user values (?,?,?,?)", user) # 注意user是元组,不可变
conn.commit() # 注意插入操作之后要进行提交
3. 查询数据
cu.execute("select * from user")
cu.fetchone() # 得到游标的第一个值
cu.execute("select * from user")
cu.fetchall() # 使用游标的fetch函数,fetchall得到所有的查询记录
4. 修改数据
cu.execute("update user set name='ccc' where id = 0")
conn.commit()
5. 删除数据
cu.execute("delete from user where id = 1")
conn.commit()
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# SQLite数据库
# Python3实现连接SQLite数据库的方法
# python 操作sqlite数据库的方法
# Python SQLite3数据库操作类分享
# Python读取sqlite数据库文件的方法分析
# Python开发SQLite3数据库相关操作详解【连接
# 查询
# 插入
# 更新
# 删除
# 关闭等】
# Python操作SQLite数据库的方法详解
# 使用Python对SQLite数据库操作
# Python版SQLite数据库从入门到综合运用案例(附详细演示)
# 第一个
# 操作技巧
# 创建一个
# 多条
# 中取
# 进阶
# 数据库管理系统
# 相关内容
# 也要
# 中有
# 它是
# 感兴趣
# 数据结构
# 给大家
# 并将
# 不存在
# 请注意
# 它可以
# 只需要
# 都快
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何选择可靠的免备案建站服务器?
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
node.js报错:Cannot find module 'ejs'的解决办法
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
Laravel如何配置和使用缓存?(Redis代码示例)
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
Laravel如何实现本地化和多语言支持?(i18n教程)
如何在阿里云虚拟主机上快速搭建个人网站?
如何在Ubuntu系统下快速搭建WordPress个人网站?
Laravel如何与Inertia.js和Vue/React构建现代单页应用
黑客如何通过漏洞一步步攻陷网站服务器?
如何快速启动建站代理加盟业务?
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
JavaScript数据类型有哪些_如何准确判断一个变量的类型
浅谈redis在项目中的应用
如何快速生成橙子建站落地页链接?
使用Dockerfile构建java web环境
Laravel中的Facade(门面)到底是什么原理
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
如何快速建站并高效导出源代码?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
如何在局域网内绑定自建网站域名?
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
如何快速搭建支持数据库操作的智能建站平台?
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
制作电商网页,电商供应链怎么做?
微信小程序 input输入框控件详解及实例(多种示例)
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
大连网站制作公司哪家好一点,大连买房网站哪个好?
如何快速重置建站主机并恢复默认配置?
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
如何利用DOS批处理实现定时关机操作详解
如何为不同团队 ID 动态生成多个非值班状态按钮
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
如何正确下载安装西数主机建站助手?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
Swift中switch语句区间和元组模式匹配
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
UC浏览器如何设置启动页 UC浏览器启动页设置方法
高端企业智能建站程序:SEO优化与响应式模板定制开发
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
在线制作视频网站免费,都有哪些好的动漫网站?
Android实现代码画虚线边框背景效果
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
如何在Windows 2008云服务器安全搭建网站?

