python sqlite3 的使用,性
- 2020 年 1 月 7 日
- 筆記
sqlite3 的使用,性能及限制
python 中使用sqlite3
首先是基本的使用:
# coding=utf8 __author__ = 'Administrator' # 导入模块,在 python 中是已经内置了这个模块,所以就不需要安装而直接使用了 import sqlite3 # 创建数据库的连接,sqlite 是使用的本地文件进行存储的,这里直接打开 conn = sqlite3.connect('path_to_database_name.db', timeout=5) # 对比 mysql 可以进行网络连接数据库,所以要加上对应的协议,用户,密码,地址,数据库,编码等构造出类似的连接字符串 # 操作 # 获取游标 cursor = conn.cursor() # 对于数据库的表的操作是通过游标进行的,所以在操作之前要获取游标对象,要注意的是使用完之后进行关闭 # 查询一个对象 cursor.execute("select * from tb_student where age > ?", (15, )) # 这里是通过游标执行了一个查询语句,其中可以通过占位符进行构造设置相应的参数,很方便不用字符串拼接了。 # 但是表名,还是需要老老实实的写进去的,占位符会有异常,这里是一个坑 # 获取数据 result = cursor.fetchall() result = cursor.fetchmany(20) result = cursor.fetchone() # 分别是获取所有,获取一定数量,获取一个 # 结果类型是 列表 或元组,元组里面是对应数据库里的字段 # 可以自己进行一下包装,用 namedtuple 进行命名,就可以像对象获取属性一项进行操作!!! # 最后,在操作完成之后一定要关闭连接 conn.close() # 这里的最佳实践是用 python 的上下文管理器,这样就不用每次都去close了
接下来就是它的一些特点:
- 简洁 api 很简洁,使用方便易上手
- 轻便 零配置,无需安装配置管理
- 可嵌入 C语言编写,精致小巧吗,易于嵌入到其他设备
- 无网络 在一些终端使用,很合适
- 快速的 除了在高并发的写的性能上可能低于mysql postgresql外,其他的都不慢
- 其他还有很多很多
这里: 此次项目主要是想选择一个不需要使用网络连接的,小巧的,高效的,数据存储的一个东西,叮咚,sqlite,正合适!!! 并且 sqlite3 还提供了一些操作接口 ,这就更加方便了!