当前位置:首页 > 数码 > 正文内容

成功弱小-可裁减的数据存储-Python中SQLite数据库的实战指南 (成功对于弱者来说是什么)

admin2年前 (2024-05-09)数码200

在/target=_blankclass=infotextkey>Python中经常使用SQLite启动数据库操作时,咱们将深化钻研SQLite数据库的创立、表格治理、数据拔出、查问、降级和删除等关键主题,协助你片面了解如何经常使用SQLite启动数据库操作。

衔接到SQLite数据库

SQLite是一种嵌入式数据库引擎,它准许在运行程序中创立和治理本地数据库文件。

Python提供了sqlite3模块,可用于衔接到SQLite数据库。

importsqlite3#衔接到数据库(假设不存在则会创立)conn=sqlite3.connect('mydatabase.db')

上述代码创立了一个名为mydatabase.db的SQLite数据库文件(假设该文件不存在),并与该数据库建设衔接。可以依据须要更改数据库文件的称号。

创立表格

在SQLite数据库中,数据以表格的方式存储。要创立表格,经常使用SQL语句。

以下是一个示例,创立一个名为"students"的表格:

#创立一个名为"students"的表格cursor=conn.cursor()cursor.execute('''CREATETABLEIFNOTEXISTSstudents(idINTEGERPRIMARYKEY,nameTEXTNOTNULL,ageINTEGER)''')conn.commit()

上述代码创立了一个蕴含id、name和age字段的"students"表格。cursor.execute()用于口头SQL语句,conn.commit()用于提交更改。

拔出数据

要向表格中拔出数据,经常使用INSERTINTO语句。

以下是一个拔出数据的示例:

#拔出一名在校生的消息cursor.execute("INSERTINTOstudents(name,age)VALUES(?,?)",('Alice',25))conn.commit()

上述代码将一名名为Alice的在校生消息拔出到"students"表格中。

查问数据

经常使用SELECT语句,从表格中检索数据。

以下是一个查问数据的示例:

#查问一切在校生的消息cursor.execute("SELECT*FROMstudents")students=cursor.fetchall()forstudentinstudents:print(student)

上述代码口头SELECT语句并将结果存储在students变量中,而后经过循环打印每个在校生的消息。

降级和删除数据

降级数据,经常使用UPDATE语句;

删除数据,经常使用DELETE语句。

以下是降级和删除数据的示例:

#降级在校生消息cursor.execute("UPDATEstudentsSETage=?WHEREname=?",(26,'Alice'))conn.commit()#删除在校生消息cursor.execute("DELETEFROMstudentsWHEREname=?",('Alice',))conn.commit()

上述代码区分将在校生Alice的年龄降级为26岁,并从表格中删除了名为Alice的记载。

意外处置

在启动数据库操作时,务必修常使用意外处置来处置或许出现的失误。

例如,假设数据库文件无法创立或关上,或许SQL语句口头失败,都应该处置这些意外状况。

try:conn=sqlite3.connect('mydatabase.db')#数据库操作exceptsqlite3.Errorase:print("SQLiteerror:",e)finally:conn.close()

数据库事务

SQLite支持事务,这是一组数据库操作的单元,要么所有成功,要么所有失败。

经常使用commit()提交事务,经常使用rollback()回滚事务。

#开局一个事务conn=sqlite3.connect('mydatabase.db')cursor=conn.cursor()try:#口头一些数据库操作cursor.execute("INSERTINTOstudents(name,age)VALUES(?,?)",('Bob',30))cursor.execute("UPDATEstudentsSETage=?WHEREname=?",(31,'Bob'))#提交事务conn.commit()exceptsqlite3.Error:#出现失误,回滚事务conn.rollback()finally:conn.close()

数据库索引

索引是数据库中用于减速数据检索的关键组成局部。在表格上创立索引以提高查问性能。

#在"students"表格的"name"字段上创立索引cursor.execute("CREATEINDEXIFNOTEXISTSidx_nameONstudents(name)")conn.commit()

数据库备份和复原

Python

活期备份数据库以防止数据失落是一个好习气。经过复制数据库文件来创立备份,或许经常使用SQLite的备份命令。

importshutil#创立数据库备份shutil.copy2('mydatabase.db','mydatabase_backup.db')

安保性思考

在将用户提供的数据拔出到数据库之前,务必启动适当的输入验证和数据清算,以防止SQL注入攻打。

user_input=input("Enterastudentname:")#经常使用参数化查问来防止SQL注入cursor.execute("INSERTINTOstudents(name)VALUES(?)",(user_input,))conn.commit()

总结

SQLite是一种轻量级的嵌入式数据库引擎,适用于各种运行程序,从小型工具到大型数据驱动运行程序。SQLite是一个弱小且灵敏的数据库引擎,关于许多运行程序都十分适用。


Python语言 SQLite怎么用内存数据库解决插入数据时速度慢的问题?

添加主键,建议主键是id 为int型的自增,这样可以显著的提高数据的插入和删除速度

为什么我往sqlite的表里最多只能存1000条数据?是有这样数量限制还是有需要设置的地方?

是可以存的,只是可能你所使用的可视化工具每一页最多显示1000条,可以寻找翻页按钮查看剩余数据

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

标签: Python

“成功弱小-可裁减的数据存储-Python中SQLite数据库的实战指南 (成功对于弱者来说是什么)” 的相关文章

Python中的LEGB规则 (python怎样打开)

Python中的LEGB规则 (python怎样打开)

Python中的LEGB规则决定了变量和函数的作用域解析顺序,它代表了四个作用域层级,局部作用域闭包函数外的函数全局作用域内置作用域局部作用域局部作用域是最狭窄的作用域,它指的是函数或代码块内部定义的…

b-b-个入门建议!-Python-技术书籍推荐-附赠-11 (b+b+b等于什么)

b-b-个入门建议!-Python-技术书籍推荐-附赠-11 (b+b+b等于什么)

近年来,Python持续火爆,越来越多的人开始入门学习Python,RealPython作为最受好评的Python学习网站,拥有超百万的浏览量,以下是RealPython的开发者给Python初学者的…

生成-UUID-操作-Python-齐全指南-格局和经常出现疑问 (生成uuid java)

生成-UUID-操作-Python-齐全指南-格局和经常出现疑问 (生成uuid java)

UUID,UniversallyUniqueIdentifier,通用惟一标识符,是一种全局惟一标识符生成形式,用于创立举世无双的标识符,target=,blankclass=infotextkey&…

网络-摸索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类中内置函数的行为,这些方法有…

一步一步指南-零老本用Python代替Adobe从PDF提取数据 (一步步指导)

一步一步指南-零老本用Python代替Adobe从PDF提取数据 (一步步指导)

一、简介PDF文件是官网报告、发票和数据表的通用言语,但是从PDF文件中提取表格数据或者是一项应战,虽然AdobeAcrobat等工具提供了处置打算,但它们并不总是易于失掉或可智能化运转,而,targ…

Python-无缝登录运行程序!-轻松生成卡密-编写初级注册机-经常使用 (python怎样打开)

Python-无缝登录运行程序!-轻松生成卡密-编写初级注册机-经常使用 (python怎样打开)

在本文中,咱们将讨论如何经常使用,target=,blankclass=infotextkey>,Python编写一个注册机,用于生成卡密,兑换码,,并经常使用这些卡密登录运行程序,咱们将涵盖以下…