python数据库如何连接SQLite详解

 更新时间:2021年08月17日 11:36:52   作者:wakeyo_J  
这篇文章主要介绍了Python实现连接SQLite数据库的方法,在Python数据库编程中有着广泛的应用,需要的朋友可以参考下,希望能给你带来帮助

1. 建立与SQLite数据库的连接

SQLite是python自带的一款基于内存或硬盘的、开源的、关系型的轻量级数据库。这意味着无需下载安装SQLite数据库产品和对应的数据库驱动程序,可以被python语言以模块导入方式直接调用。其位置在python的安装路径为Lib/sqlite3/。

对关系型数据库进行读写操作,需要建立如下几个操作步骤:

  • 第一步,建立应用系统与数据库的连接;
  • 第二步,需要建立数据库实例,通俗理解是建立一个存储数据库的文件;
  • 第三步,建立对应的表结构;
  • 第四步,往表里写记录,读记录;
  • 第五步,关闭与数据库的连接。

1.1 建立基于内存的数据库

import sqlite3   #导入sqlite3模块
conn = sqlite3.connect(":memory:")     #建立一个基于内存的数据库
conn.close()        #关闭与数据库的连接

当对数据库操作完成时,建议养成及时关闭数据库连接的好习惯,避免打开数据库连接过多,消耗内存存储空间。

1.2 建立基于硬盘的数据库

import sqlite3   #导入sqlite3模块
conn = sqlite3.connect("First.db")     #建立一个基于硬盘的数据库实例
conn.close()        #关闭与数据库的连接

效果:

执行代码后,在python的安装路径下生成First.db文件。

在这里插入图片描述

1.3 基于内存和基于硬盘的区别

基于内存数据库容易丢失(特别是关机或因突发事故就会丢失内存里的数据),基于硬盘数据可以持久保存基于内存数据读写速度快,基于硬盘数据读写速度慢基于内存数据存储容量受内容受内容可用空间限制,基于硬盘数据存储容量受限于硬盘可用空间

2. 在指定数据库里建立表结构

在关系型数据库中,需要创建关系型特征的表结构,才能往表里写入数据以及进行数据库的操作。

将下列二维结构化记录表依次存放到数据库表中。

请添加图片描述

建立一个对应的数据库表需要建立钓鱼日期、名称、数量、价格、备注五个字段。其中,字段值需要确定数据类型,如数量为整数,价格为浮点数,钓鱼日期、名称、备注为字符型。

2.1 建立数据库表结构

import sqlite3   #导入sqlite3模块
conn = sqlite3.connect("First.db")     #建立一个基于硬盘的数据库实例
cur = conn.cursor()         #通过建立数据库游标对象,准备读写操作
cur.execute("Create table T_fish(date text,name text,nums int,price real,Explain text)")  #根据上表结构建立对应的表结构对象
cur.execute("insert into T_fish Values('2018-3-28','黑鱼',10,28.3,'tom')")    #插入一行记录结果信息
conn.commit()   #保存提交,确保数据保存成功
conn.close()        #关闭与数据库的连接

在First.db数据库中创建一个T_fish表,然后往表里插入一行记录,最后提交保存并关闭数据库连接。

  • 建立数据库表采用的时标准SQL命令的方法,在数据库里创建对应的T_fish表。
  • 插入一行记录,通过游标的execu()方法,利用SQL的insert命令往T_fish表里执行一条插入记录;可以连续多行执行execu()方法,执行多条SQL语句
  • 提交保存,在对数据库进行写操作时,最后必须调用Connection对象的commit()方法,才能把数据真的提交到数据库中,否则会存在数据丢失。

游标起指向某数据库的某表的作用,只有建立了确定的表的指向关系,才能进行插入、修改、删除、查找等操作。

2.2 查找数据

import sqlite3
conn = sqlite3.connect("First.db")   #连接数据库
cur = conn.cursor()        #创建关联数据库的游标实例
cur.execute("select * from T_fish")  #对T_fish表执行数据查找命令
for row in cur.fetchall():      #以一条记录为元组单位返回结果给row
    print(row)
conn.close()   #关闭数据库

效果:

在这里插入图片描述

2.3 删除数据

import sqlite3
conn = sqlite3.connect("First.db")    #连接数据库
cur = conn.cursor()         #创建游标实例
cur.execute("insert into T_fish Values('2018-3-29','鲤鱼',17,10.3,'john')")   #插入一条数据
cur.execute("insert into T_fish Values('2018-3-30','鲢鱼',9,9.2,'tim')")
conn.commit()   #提交数据保存到磁盘
cur.execute("select * from T_fish")    #查找表里的记录
for row in cur.fetchall():
    print(row)
cur.execute("delete from T_fish where nums=10")   #删除数量为10的记录
conn.commit()   #提交结果到硬盘
print('=='*50)
cur.execute("select * from T_fish")    #查找T_fish表里的记录
for row in cur.fetchall():
    print(row)
conn.close()

效果:

在这里插入图片描述

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Python实现考试自动答题的脚本分享

    Python实现考试自动答题的脚本分享

    最近这段时间天气正正好,不冷不热,是学习考驾照的好时机。为了帮助大家能够顺利获得驾照,小编为大家准备了驾照考试的自动答题小程序,希望对大家有所帮助
    2023-03-03
  • 用pyqt5 给按钮设置图标和css样式的方法

    用pyqt5 给按钮设置图标和css样式的方法

    今天小编就为大家分享一篇用pyqt5 给按钮设置图标和css样式的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • 简单的Python调度器Schedule详解

    简单的Python调度器Schedule详解

    这篇文章主要介绍了简单的Python调度器Schedule详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python的另外几种语言实现

    Python的另外几种语言实现

    这篇文章主要介绍了Python的另外几种语言实现,本文介绍了CPython、Jython、Python for .NET、PyPy、Stackless等其它几种语言实现的Python,需要的朋友可以参考下
    2015-01-01
  • python通过邮件服务器端口发送邮件的方法

    python通过邮件服务器端口发送邮件的方法

    这篇文章主要介绍了python通过邮件服务器端口发送邮件的方法,涉及Python发送邮件的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • python logging模块的分文件存放详析

    python logging模块的分文件存放详析

    这篇文章主要介绍了python logging模块的分文件存放详析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • python每次处理固定个数的字符的方法总结

    python每次处理固定个数的字符的方法总结

    使用python每次处理固定个数的字符,很多情况下都会遇到。本文对可能的方法做下总结,供各位朋友学习参考
    2013-01-01
  • python opencv3实现人脸识别(windows)

    python opencv3实现人脸识别(windows)

    这篇文章主要为大家详细介绍了python opencv3实现人脸识别程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 浅析Python条件语句中的解密逻辑与控制流

    浅析Python条件语句中的解密逻辑与控制流

    这篇文章主要想来和大家一起探索一下Python条件语句的奇妙世界——解密逻辑与控制流,文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下
    2023-07-07
  • 详解python 模拟豆瓣登录(豆瓣6.0)

    详解python 模拟豆瓣登录(豆瓣6.0)

    这篇文章主要介绍了python模拟豆瓣登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论