Python学习----sqlite

    xiaoxiao2025-03-03  38

    Python学习----sqlite

    1.SQLite2.python集成sqlite3.总结

    1.SQLite

    SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。 不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。 以上数据来源于百度百科。 sqlite常见于移动设备,小型工具,切入式等。比如很多的安卓程序,某某监控系统基于单片机的那种,pc的工具,比如流量监控等等。 sqlite是与客户端在一起的数据存储机制,无需安装,直接集成在软件内。 数据库存储数据最后肯定存储于硬盘内,sqlite最终在硬盘上创建一个db文件存储数据。

    2.python集成sqlite

    sqlite已经在python的标准库中支持,所以使用直接导入模块即可。

    import sqlite3 # 数据库存储实例 # 也就是数据库文件名 linkUrl = 'hello.db' # 获取连接 conn = sqlite3.connect(linkUrl) # print(dir(conn)) # 获取操作游标 cur = conn.cursor() # print(dir(cur)) # 创建表的SQL # sqlCreate = 'create table user(name text,id number,sex text)' # 执行 # cur.execute(sqlCreate) # 创建插入SQL # sqlInsert = "insert into user values('test1', 001, '男')" # 执行SQL # cur.execute(sqlInsert) # 提交事务 # conn.commit() # 创建查询SQL sqlSelect = 'select * from user' # 执行查询SQL # data = cur.execute(sqlSelect) # 获取所有结果 # print(data.fetchall()) # 创建批量插入SQL # batchInsertSql = 'insert into user values (?,?,?)' # 创建批量数据 # batchInsertData = [('batch1', 2, '男'), ('batch2', 3, '女'), ('batch3', 4, '人妖')] # 执行批量的SQL # data = cur.executemany(batchInsertSql,batchInsertData) # 提交批量的事物 # conn.commit() # 执行查询批量结果SQL # batch_data = cur.execute(sqlSelect) # 获取所有的结果 # print(batch_data.fetchall()) # 创建更新SQL # sqlUpdate = "update user set name = 'tst' where id = 001" # 执行更新SQL # data = cur.execute(sqlUpdate) # 提交更新 # conn.commit() # 执行查询更新结果SQL # update_data = cur.execute(sqlSelect) # 获取所有的结果 # print(update_data.fetchall()) # 创建删除SQL # deleteSql = 'delete from user where id = 1' # 执行删除SQL # data = cur.execute(deleteSql) # 提交删除事物 # conn.commit() # 执行查询删除结果SQL delete_data = cur.execute(sqlSelect) # 获取所有的结果 print(delete_data.fetchall()) # 关闭操作游标 cur.close() # 关闭连接 conn.close()

    3.总结

    sqlite是一个非常好用的本地数据存储解决方案,但是安全性方面肯定不如其余数据库那样安全。 如果是一些安全性不高,作为辅助功能的,还是可以考虑使用sqlite的。

    最新回复(0)