当前位置:首页 > 数码 > SQLite-高效的嵌入式数据库处置打算-Python-一种轻量级-内置的-数据库 (sqlite学习)

SQLite-高效的嵌入式数据库处置打算-Python-一种轻量级-内置的-数据库 (sqlite学习)

admin8个月前 (05-06)数码40
DBM(DataBaseManager)是一种文件系统,专门用于键值对的存储,最后是在Unix平台成功,如今其它平台也可以用。关于KV模型,DBM提供了一个轻量级、高效的存储处置打算。

总的来说,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数据库中的数据。

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: Python

“SQLite-高效的嵌入式数据库处置打算-Python-一种轻量级-内置的-数据库 (sqlite学习)” 的相关文章

处置日常义务的终极工具!-Python-文件读写实战 (处置行为是什么意思)

处置日常义务的终极工具!-Python-文件读写实战 (处置行为是什么意思)

/target=_blankclass=infotextkey>Python文件的读写操作时,有很多须要思考的细节,这包含文件关上形式、读取和写入数据的方法、意外处置等。 在本文中,...

一份收藏者必备清单-100个精选Python库 (收藏者的心态)

一份收藏者必备清单-100个精选Python库 (收藏者的心态)

/target=_blankclass=infotextkey>Python为啥这么火,这么多人学,就是由于繁难好学,性能弱小,整个社区十分生动,资料很多。而且这言语触及了方方面面,比如智能...

掌握网络世界的无限可能-Python分布式爬虫助力搜索引擎打造 (掌握网络世界的好处)

掌握网络世界的无限可能-Python分布式爬虫助力搜索引擎打造 (掌握网络世界的好处)

主从模式 主从模式是一种简单的分布式爬虫架构,其中一台主机作为控制节点,负责管理所有运行爬虫的从机。 主节点负责向从机分配任务,并接收新生成的任务。从机只需要从主节点接收任务,并把新生...

轻松把握多线程和多进程-Python编程进阶 (多线是什么意思)

轻松把握多线程和多进程-Python编程进阶 (多线是什么意思)

1、简介 咱们将讨论如何应用/target=_blankclass=infotextkey>Python口头多线程和多进程义务。它们提供了在单个进程或多个进程之间口头并发操作的方法。并...

五分钟内完成个性化-GUI-计算器搭建-Python (五分钟内完成的动物实验)

五分钟内完成个性化-GUI-计算器搭建-Python (五分钟内完成的动物实验)

这个简单的教程将指导你如何在 Python 中使用 Tkinter 轻松制作一个全功能的 GUI 计算器。 7 8...

网络-摸索Python中的必备模块-解锁数据处置-迷信计算等畛域的弱小工具-自动化 (网络mod)

网络-摸索Python中的必备模块-解锁数据处置-迷信计算等畛域的弱小工具-自动化 (网络mod)

/target=_blankclass=infotextkey>Python罕用的模块十分多,关键分为内置模块和第三方模块两大类,且不同模块运行场景不同又可以分为文本类、数据结构类、数学运算...

Selenium成功智能化测试及Chrome驱动经常使用!-Python (selenium是什么意思)

Selenium成功智能化测试及Chrome驱动经常使用!-Python (selenium是什么意思)

本文将引见如何经常使用/target=_blankclass=infotextkey>PythonSelenium库成功智能化测试,并具体记载了Chrome驱动的经常使用方法。 经过本...

Python-每个程序员都应该知道的-个-魔术方法-11 (python怎样打开)

Python-每个程序员都应该知道的-个-魔术方法-11 (python怎样打开)

译者|布加迪 审校|重楼 在/target=_blankclass=infotextkey>Python中,魔术方法(MagicMethod)可以协助您模拟Python类中内置函...