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

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

admin4个月前 (05-09)数码18

在/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数据库的实战指南 (成功对于弱者来说是什么)” 的相关文章

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

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

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

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

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

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

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

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

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

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

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

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

使用Python进行数据分析的步骤 (使用pycharm)

使用Python进行数据分析的步骤 (使用pycharm)

简介 Python 是一种动态的、面向对象的脚本语言,以其简单性和易读性而闻名。它广泛用于数据分析,因为它具有强大的库,兼容开源大数据平台 Hadoop,并且拥有众多优势,使其成为流行的编...

五分钟内完成个性化-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驱动的经常使用方法。 经过本...