SQLite-高效的嵌入式数据库处置打算-Python-一种轻量级-内置的-数据库 (sqlite学习)
总的来说,DBM具备如下特点:
而Python规范库提供了一个dbm模块,它成功了DBM文件系统的性能,来看一下它的用法。
importdbm#第一个参数是文件名#第二个参数是形式,有以下几种#r:只读,要求文件必定存在,自动就是这个形式#w:可读可写,要求文件必定存在#c:可读可写,文件不存在会创立,存在则追加#n:可读可写,文件不存在会创立,存在则清空#第三个参数是权限,用八进制数字示意,自动0o666,即可读可写无法口头db=dbm.open("store","c")#关上文件就可以存储值了,key和value必定是字符串或bytes对象db["name"]="Sせんせい"db["age"]="18"db[b"corporation"]="小摩".encode("utf-8")#封锁文件,将内容写到磁盘上db.close()
十分繁难,就像操作字典一样,并且key是惟一的,假设存在则交流。口头完后,以后目录会多出一个store.db文件。
咱们关上它,而后读取刚才写入的键值对。
importdbmdb=dbm.open("store","c")#失掉一切的key,间接前往一个列表print(db.keys())"""[b'corporation',b'name',b'age']"""#判别一个key能否存在,key可以是字符串或bytes对象print("name"indb,"NAME"indb)"""TrueFalse"""#失掉一个key对应的value,失掉的是bytes对象print(db["name"].decode("utf-8"))print(db[b"corporation"].decode("utf-8"))"""Sせんせい小摩"""#key假设不存在,会抛出KeyError,咱们可以经常使用get方法print(db.get("NAME",b"unknown"))"""b'unknown'"""#当然也可以经常使用setdefault方法,key不存在时,智能写出来print(db.setdefault("gender",b"female"))"""b'female'"""print(db["gender"])"""b'female'"""
十分繁难,当你须要存储的数据量不适宜放在内存中,但又没必要引入数据库,那么无妨试试经常使用dbm模块吧。
当然啦,dbm只管很繁难,但它只能耐久化bytes对象,字符串也是转成bytes对象之后再存储的。所以除了dbm之外,还有一个规范库模块shelve,它可以耐久化恣意对象。
shelve的经常使用方式和dbm简直是分歧的,区别就是shelve的序列化才干要更强,当然速度人造也就慢一些。
importshelve#第二个参数示意形式,自动是c#因此文件不存在会创立,存在则追加sh=shelve.open("shelve")sh["name"]=["S教员","高教员","电烤
Python语言 SQLite怎么用内存数据库解决插入数据时速度慢的问题?
添加主键,建议主键是id 为int型的自增,这样可以显著的提高数据的插入和删除速度
python用来操作sqlite数据库的标准库是
sqlite3。 sqlite3是Python的一个内置模块,专门用于对SQLite数据库进行操作。 SQLite是一个C语言库,提供轻量级的磁盘上数据库系统。 SQLite是一个文件型数据库,不依赖外部服务,适合单机或者小型项目使用。 通过sqlite3模块,Python程序可以创建、查询、更新和删除SQLite数据库中的数据。
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。