iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python数据库如何连接SQLite详解
  • 140
分享到

python数据库如何连接SQLite详解

2024-04-02 19:04:59 140人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1.建立与sqlite数据库的连接1.1建立基于内存的数据库1.2建立基于硬盘的数据库1.3基于内存和基于硬盘的区别2.在指定数据库里建立表结构2.1建立数据库表结构2.2查找数

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()

效果:

在这里插入图片描述

总结

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

--结束END--

本文标题: python数据库如何连接SQLite详解

本文链接: https://www.lsjlt.com/news/132795.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python数据库如何连接SQLite详解
    目录1.建立与SQLite数据库的连接1.1建立基于内存的数据库1.2建立基于硬盘的数据库1.3基于内存和基于硬盘的区别2.在指定数据库里建立表结构2.1建立数据库表结构2.2查找数...
    99+
    2024-04-02
  • Rust如何连接SQLite数据库
    这篇文章主要介绍Rust如何连接SQLite数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用 Rust 语言连接操作 SQLite 数据库,我使用 rusqlite 这个 crate。看例子:首先,使用 ca...
    99+
    2023-06-28
  • java如何连接sqlite数据库
    要连接SQLite数据库,可以使用Java的JDBC(Java数据库连接)API。以下是使用JDBC连接SQLite数据库的步骤: ...
    99+
    2024-04-18
    java sqlite
  • sqlite数据库连接池如何使用
    SQLite数据库是一种轻量级的数据库,不支持连接池。每个连接都是一个独立的数据库文件,因此在SQLite中并不需要使用连接池。 如...
    99+
    2024-04-09
    sqlite
  • Android项目如何实现连接SQLite数据库
    这篇文章给大家介绍Android项目如何实现连接SQLite数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。新建一个Android工程: 在Src文件夹下新建一个包com.example.database...
    99+
    2023-05-31
    android sqlite lite
  • Rust连接SQLite数据库的过程解析
    使用 Rust 语言连接操作 SQLite 数据库,我使用 rusqlite 这个 crate。 看例子: 首先,使用 cargo 创建一个 Rust 项目,然后添加依赖 rusql...
    99+
    2024-04-02
  • PyQt4中怎么连接sqlite数据库
    本篇文章给大家分享的是有关PyQt4中怎么连接sqlite数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。SQLite,是一款轻型的数据库...
    99+
    2024-04-02
  • Python封装数据库连接池详解
    目录一、数据库封装1.1数据库基本配置1.2 编写单例模式注解1.3 构建连接池1.4 封装Python操作MYSQL的代码二、连接池测试场景一:同一个实例,执行...
    99+
    2024-04-02
  • Python如何操作SQLite数据库
    Python如何操作SQLite数据库,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言:SQLite属于轻型数据库,遵守ACID的关系型数据库管理系统,它包含在一个相对小...
    99+
    2023-06-25
  • python如何处理SQLite数据库
    本篇内容主要讲解“python如何处理SQLite数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python如何处理SQLite数据库”吧!一、安装pip3 install&nb...
    99+
    2023-06-29
  • Python中如何连接数据库
    今天就跟大家聊聊有关Python中如何连接数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python连接数据库之postgresql: 使用psycopg2来连接示例代码:im...
    99+
    2023-06-17
  • sqlite数据库连接池怎么配置
    在SQLite中,由于它是一个嵌入式数据库,通常不需要使用连接池来管理数据库连接。每个数据库连接都是一个文件,可以直接在应用程序中打...
    99+
    2024-04-09
    sqlite
  • Python 操作SQLite数据库详情
    目录一、简单操作SQLite数据库1、简单的插入语句的使用2、简单的查询语句的使用二、更新数据与删除三、实现用户名密码验证四、SQLite检索时间记录五、SQLite提取数据并绘图 ...
    99+
    2024-04-02
  • Android studio 连接SQLite数据库 +创建数据库+创建数据库表
    Android studio 之数据库的使用 连接创建SQLite 大家好,欢迎来到寒依。 相信看啦我的教程 当老师问你在学习Android studio 数据库使用过程中遇到什么困难,分享一下你的感...
    99+
    2023-10-01
    android studio intellij-idea 数据库开发 sqlite java
  • 详解如何使用Node.js连接数据库ORM
    目录ORM下载量typeormsequlizeprismaORM 在上文中我们讲了如何使用node.js mysql2连接数据库,接下来讲讲ORM 下面摘一段百科对ORM的介绍 对象...
    99+
    2022-12-19
    Node.js连接数据库ORM Node数据库ORM
  • python链接sqlite数据库的详细代码实例
    一、创建数据库 创建sqlite数据库的代码 import sqlite3 conn = sqlite3.connect("test.db") print("成功创建数据库") ...
    99+
    2024-04-02
  • 详解.NET数据库连接池
    目录前置知识背景1. .NET数据库连接池的背景2. .NET 数据库连接池的表现3. .NET是如何形成数据库连接池的?4. 连接池中的连接什么时候被移除?.NET 如何清...
    99+
    2024-04-02
  • 详解Java数据库连接池
    目录一、什么是数据库连接池二、为什么需要连接池,好处是什么?三、都有哪些连接池方案四、连接池需要关注的参数五、怎么创建连接池,show me the code5.1 pom.xml ...
    99+
    2024-04-02
  • python中jdbc如何连接数据库
    在Python中,可以使用`pyodbc`库来连接数据库。以下是一个连接MySQL数据库的示例:```pythonimport py...
    99+
    2023-08-23
    python jdbc 数据库
  • Python中如何连接oracle数据库
    这篇文章给大家介绍Python中如何连接oracle数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 基本连接–使用Oracle tns aliasconnection=cx_...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作