python sqlite3 的使用,性能及限制

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 还提供了一些操作接口 ,这就更加方便了!

一篇性能及限制的分析文章

没了~~~

猜你喜欢

转载自blog.csdn.net/hpulfc/article/details/80000592