玩转SQLite5:使用Python来读写数据库

前面几篇,介绍了命令行方式和图形界面方式读写数据库,而数据库的实际应用,通常需要与程序结合起来,通过程序来实现对数据库的访问和读写。
sqlite支持多种编程语言的开发调用:c, c++, php, perl, java, c#,python, ruby等。
本篇先介绍python语言来调用sqlite数据库,为什么先介绍python呢?因为python用起来十分方便,简单的几行代码,就能够实现我们想要的功能(当然前提是先配置好python的开发环境)。
1 python读写sqlite基本流程 这里先列举出python读写sqlite数据库的基本流程:
2 编程实现 2.1 基本流程 引入sqlite3依赖包后,首先是连接数据库,调用的是connect方法:
filedb = 'test4.db' # 数据库文件conn = sqlite3.connect(filedb) # 连接数据库 然后需要创建游标:
cur = conn.cursor() # 创建游标 这时,就可以通过execute方法执行sql语句了,比如查询语句:
sql = 'select * from score' # sqlite语句(查询数据)cur.execute(sql) 我们也可以将查询到的数据打印出来:
print(cur.fetchall()) # 打印所有数据 最后关闭连接
conn.close() # 关闭连接 2.2 数据插入 使用python程序连接到数据库后,也可通过程序来实现数据插入数据库,只需要继续使用execute方法执行sql语句即可。
2.2.1 插入单条数据 有两种方式可以实现单条数据的插入:
# 插入单条数据data = 7,70,81,88cur.execute('insert into score values (%s)' % data) # 方式1cur.execute(insert into score values(?,?,?,?), (8, 81, 85, 83)) # 方式2 2.2.2 插入多条数据 多条数据一起插入,就要使用executemany方法:
# 插入多条数据cur.executemany('insert into score values(?,?,?,?)', [(9, 85, 88, 86), (10, 88, 83, 90)]) 2.2.3 保存数据 最后要调用commit,才能将数据库的修改保存下来:
# 提交(保存)conn.commit()  
3 测试 3.1 运行python程序 编写python程序,插入一些数据进行测试。
执行python程序,结果如下:
3.2 命令行查看验证 使用命令行来查看数据库,可以发现数据库中已经新增了几条数据,说明通过python程序已经成功修改了数据库的内容。
4 附:完整程序 完整的python程序如下:
import sqlite3filedb = 'test4.db' # 数据库文件sql = 'select * from score' # sqlite语句(查询数据)# 连接数据库conn = sqlite3.connect(filedb)# 执行sql语句cur = conn.cursor() # 创建游标cur.execute(sql)# 打印print(cur.fetchone()) # 打印第1条数据print(cur.fetchmany(2)) # 再打印2条数据print(cur.fetchall()) # 再打印所有数据# 插入单条数据data = 7,70,81,88cur.execute('insert into score values (%s)' % data) # 方式1cur.execute(insert into score values(?,?,?,?), (8, 81, 85, 83)) # 方式2# 插入多条数据cur.executemany('insert into score values(?,?,?,?)', [(9, 85, 88, 86), (10, 88, 83, 90)])# 打印cur.execute(sql)print('------------') print(cur.fetchall())# 提交(保存)conn.commit()# 关闭连接conn.close() 5 总结 本篇介绍了如何使用python语言来进行sqlite数据库的读写,在嵌入式式开发中,更多的是使用c/c++语言进行开发,因此,下篇我们介绍如何使用c语言来进行sqlite数据库的读写。


小米手表正式发布 售价1299元
谁会是2023年画质天花板?TCL X11G电视来了
PCB承载大电流操作方法 PCB承载大电流注意事项
灵活应用高频板材的设计方法
TDK开发出TFSB系列薄膜带通滤波器
玩转SQLite5:使用Python来读写数据库
基于FPGA的可编程AES加解密IP
普科电流探头的使用注意事项
京东下半年客户集中发布新机,带动小尺寸显示屏市场回暖
开关二极管的原理与参数
iPhone13或将取消数据线与Face ID
5G开启商用 VR产业迎来新生
光纤监控的具体安装和连接方式
高屏占比+隐藏式指纹识别,但联想旗舰机在这点上不如小米MIX
区块链游戏:“Gods Unchained”
振弦信号转无线485步骤信号采集、处理、转换和发送
中国电信启动了2019年无源器件集中采购项目
西门子博途:SIMATIC定时器功能概述
比特币的影响力有多大?一场数字的文艺复兴
1-100W超低成本高功率整体方案