python数据库操作——连接SQLite

python数据库操作——连接SQLite

hello!我是wakeyo_J,每天一个konwledge point,一起学python,让技术无限发散。

连接SQLite

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文件。

python数据库操作——连接SQLite

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

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

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

在关系型数据库中,需要创建关系型特征的表结构,才能往表里写入数据以及进行数据库的操作。
将下列二维结构化记录表依次存放到数据库表中。

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

; 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表,然后往表里插入一行记录,最后提交保存并关闭数据库连接。

  1. 建立数据库表采用的时标准SQL命令的方法,在数据库里创建对应的T_fish表。
  2. 插入一行记录,通过游标的execu()方法,利用SQL的insert命令往T_fish表里执行一条插入记录;可以连续多行执行execu()方法,执行多条SQL语句
  3. 提交保存,在对数据库进行写操作时,最后必须调用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()   #关闭数据库

效果:

python数据库操作——连接SQLite

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数据库操作——连接SQLite

总结

本文属于作者原创,转载请注明出处,不足之处,希望大家能过给予宝贵的意见,如有侵权,请私信。每天一个knowledge point,一起学python,让技术无限发散

Original: https://blog.csdn.net/m0_55697123/article/details/119717715
Author: wakeyo_J
Title: python数据库操作——连接SQLite

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/816436/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球