Python超轻量数据库之SQLite
欢迎关注【无量测试之道】公众号,回复【领取资源】,
Python编程学习资源干货、
Python+Appium框架APP的UI自动化、
Python+Selenium框架Web的UI自动化、
Python+Unittest框架API自动化、
资源和代码 免费送啦~
文章下方有公众号二维码,可直接微信扫一扫关注即可。
1、什么是 SQLite
SQLite3 可使用 sqlite3 模块与 Python 进行集成。sqlite3 模块是由 Gerhard Haring 编写的。它提供了一个与 PEP 249 描述的 DB-API 2.0 规范兼容的 SQL 接口。您不需要单独安装该模块,因为 Python 2.5.x 以上版本默认自带了该模块。
2、SQLite有什么优点
源代码不受版权限制,真正的自由,开源和免费
无务器,不需要一个单独的服务器进程或者操作的系统
一个SQLite 数据库是存储在一个单一的跨平台的磁盘文件
零配置,因为其本身就是一个文件,不需要安装或管理,轻松携带
不需要任何外部的依赖,所有的操作等功能全部都在自身集成
轻量级,SQLite本身是C写的,体积很小,经常被集成到各种应用程序中
3、SQLite 的使用场景有哪些
1). 小型网站,SQLite适用于中小规模流量的网站
2). 嵌入式设备,SQLite适用于手机, PDA, 机顶盒, 以及其他嵌入式设备. 作为一个嵌入式数据库它也能够很好的应用于客户端程序.
3). 数据库教学,SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
4). 本地应用程序,其单一磁盘文件的特性,并且不支持远程连接,使其适用于本地的应用程序,如PC客户端软件.
4、使用示例展示
1 import sqlite3 2 3 class conndb(): 4 list1=[] 5 def __init__(self): 6 self.conn = sqlite3.connect('testqqs.db') #存在就连接,不存在就创建数据库 7 self.c = self.conn.cursor() #获取操作数据库的游标 8 9 def query_sql(self,sql): #执行select并返回数据的方法 10 result=self.c.execute(sql) 11 for res in result: 12 self.list1.append(res[0]) 13 print(list(set(self.list1))) 14 self.conn.commit() 15 self.conn.close() 16 17 def execute_sql(self,sql): #执行除select外语句的方法 18 result=self.c.execute(sql) 19 print("the result is:",result) 20 if "create table" in str(sql).lower(): 21 print("Table created successfully") 22 else: 23 print("the createdb.sql execute is successfully") 24 self.conn.commit() 25 self.conn.close() 26 27 if __name__=="__main__": 28 table1=''' 29 create TABLE IF NOT EXISTS table0607( 30 id INTEGER PRIMARY KEY AUTOINCREMENT, 31 `qq_number` varchar(255) DEFAULT NULL, 32 `qq_sex` varchar(255) DEFAULT NULL, 33 `qq_years` varchar(255) DEFAULT NULL, 34 `qq_injoin_time` varchar(255) DEFAULT NULL, 35 `qq_say_time` varchar(255) DEFAULT NULL 36 ); 37 ''' 38 insert_sql="INSERT INTO qq_infos (id,qq_number,qq_sex,qq_years,qq_injoin_time,qq_say_time) VALUES (1,'625888888','女','130年','2015/04/21','吐槽')" 39 query_sql="select count(*) from qq_infos" 40 delete_sql="delete from qq_infos where id=765" 41 update_sql="update qq_infos set qq_number='625888888' where id=1" 42 db=conndb() 43 sql="select qq_number from table0607 where id>4366" 44 db.execute_sql(table1) 45 db.query_sql(sql)
总结:今天分享的内容,代码示例部分还是需要大家亲自动手实操,学习效果会更好。
备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:
添加关注,一起共同成长吧。