当前位置:首页 > 数码 > 成功弱小-可裁减的数据存储-Python中SQLite数据库的实战指南 (成功对于弱者来说是什么)

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

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

在/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-文件读写实战 (处置行为是什么意思)

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

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

惰性求值和lambda表达式的强大组合-Python高级技巧 (惰性求值和逻辑短路)

惰性求值和lambda表达式的强大组合-Python高级技巧 (惰性求值和逻辑短路)

Lambda 表达式 在 Python 中,Lambda 表达式是一个匿名函数,它可以在需要函数对象的地方使用。Lambda 表达式的语法如下: lambda arguments: exp...

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

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

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

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

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

UUID(UniversallyUniqueIdentifier,通用惟一标识符)是一种全局惟一标识符生成形式,用于创立举世无双的标识符。/target=_blankclass=infotextk...

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等工具提供了处置打算,但它们并不总是易于失掉或可智能化运转,...

Python之Redis操作 (python怎样打开)

Python之Redis操作 (python怎样打开)

Redis 是一款高性能内存数据库,广泛用于缓存、消息队列、会话管理等应用。Python 通过各种库支持与 Redis 的交互,使开发者能够轻松地在 Python 应用中使用 Redis。本文将介...