python sqlite3 的使用,性

发布时间:2019-09-15 10:01:09编辑:auto阅读(3360)

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

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

    没了~~~

关键字