【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

目录

1、sqlite数据库介绍

1)常见的数据库操作

2)数据操作常见步骤

2、向数据表中增加数据(insert into)

1)向数据表中添加一条记录

2)向数据表中一次性添加多条记录

3、修改数据表中已有的数据

1)一次修改一条记录

2)一次修改多条记录

4、查询数据表中的数据

5、删除数据表中的数据

1、sqlite数据库介绍

数据库|SQLite数据库_Chuangke_Andy的博客-CSDN博客SQLite数据库数据库(Database)是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。常用的数据分为大型、中型和小型数据库。1. SQLite数据库SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就足够了。它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快。SQLite提供一些C函数接口,可以用这些函数操作数据库。通过使用这些接口,传递一些标准 sql 语句(以 char * 类型)给 SQLite函数,SQLit 【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍https://blog.csdn.net/Chuangke_Andy/article/details/108471199?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163583751816780274152362%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163583751816780274152362&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-108471199.pc_search_all_es&utm_term=sqlite%E6%95%B0%E6%8D%AE%E5%BA%93&spm=1018.2226.3001.4187 ;

SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就足够了。它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快。SQLite提供一些C函数接口,可以用这些函数操作数据库。通过使用这些接口,传递一些标准 sql 语句(以 char * 类型)给 SQLite函数,SQLite就会为你操作数据库。
零配置,无需安装和管理配置
储存在单一磁盘文件中的一个完整的数据库
数据库文件可以在不同字节序的机器间自由共享
支持数据库大小至2TB
足够小,全部源码大致3万行C代码,250KB
比目前流行的大多数数据库对数据的操作要快
特点:速度快、适合小型的数据存储(2T)

1)常见的数据库操作

  • 向数据表中增加数据——insert into
  • 修改数据表中的内容——update
  • 删除数据表中的内容——delete
  • 查询数据表中的内容——select、fetchone/fetchmany/fetchall

2)数据操作常见步骤

【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍
  • 连接数据库
  • 创建游标对象
  • 根据操作创建sql语句
  • 利用execute/executemany函数执行SQL语句
  • 关闭游标对象
  • 提交事务(查询不需要,只有在表内容发生改变的时候才需要进行事务提交,保证数据完整性)
  • 关闭数据库

2、向数据表中增加数据(insert into)

数据库可视化:

原创 【数据库学习】——数据库可视化–Navicat下载安装连接教程【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍https://blog.csdn.net/qq_45769063/article/details/121101535 ;增加数据SQL语句:(问号表示占位符)

insert into 数据表名 (字段名1,字段名2)values(?,?)
“insert into user (id,name) values (?,?)”
含义:向数据表中添加各个字段内容为(?,?)的一条记录
注:在进行插入时,id具有唯一性,因此不能插入相同id,否则会报错

1)向数据表中添加一条记录

import sqlite3

conn = sqlite3.connect("linlianqin.db")
cur = conn.cursor()
sql语句
sql = "insert into user (id,name) values (?,?)" # 其中问号为占位符
插入一条记录
cur.execute(sql,(0,"lily")) # 执行SQL语句时,使用元组传递参数(填充占位符)对应SQL语句的values
cur.close()
conn.commit()
conn.close()

【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

2)向数据表中一次性添加多条记录

import sqlite3

conn = sqlite3.connect("linlianqin.db")
cur = conn.cursor()
sql语句
sql = "insert into user (id,name) values (?,?)" # 其中问号为占位符
插入一条记录
cur.execute(sql,(0,"lily")) # 执行SQL语句时,使用元组传递参数(填充占位符)对应SQL语句的values
插入多条记录——用列表保存多个插入记录
date = [(1,"li"),(2,"davy"),(3,"july")]
cur.executemany(sql,date)
cur.close()
conn.commit()
conn.close()

【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

3、修改数据表中已有的数据

数据库可视化:

原创 【数据库学习】——数据库可视化–Navicat下载安装连接教程【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍https://blog.csdn.net/qq_45769063/article/details/121101535 ;修改数据SQL语句:(问号表示占位符)

update 数据表名 set 字段名 = ?where 主键名 = ?
update user set name = ? where id = ?
含义:将数据表user中主键为?的name字段值修改为?

1)一次修改一条记录

import sqlite3

conn = sqlite3.connect("linlianqin.db")
cur = conn.cursor()
sql语句,表示更新表user中指定id记录的name属性
sql = "update user set name = ? where id = ?" # 其中问号为占位符
cur.execute(sql,("lily_update",0))
cur.close()
conn.commit()
conn.close()

【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

2)一次修改多条记录

import sqlite3

conn = sqlite3.connect("linlianqin.db")
cur = conn.cursor()
sql语句,表示更新表user中指定id记录的name属性
sql = "update user set name = ? where id = ?" # 其中问号为占位符
cur.execute(sql,("lily_update",0))
date = [("update1",1),("update2",2)]
cur.executemany(sql,date)
cur.close()
conn.commit()
conn.close()

【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

4、查询数据表中的数据

数据库可视化:

原创 【数据库学习】——数据库可视化–Navicat下载安装连接教程【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍https://blog.csdn.net/qq_45769063/article/details/121101535 ;查询数据SQL语句:

select * from 数据表名 条件
“select * from user where id >= 0”
含义:从表user中选择id大于等于0的记录
注:在同一个代码中有多次查询,下一次查询都是基于上一次查询的基础上开始的

import sqlite3

conn = sqlite3.connect("linlianqin.db")
cur = conn.cursor()
sql语句
sql = "select *  from user where id >= 0" # 其中问号为占位符

cur.execute(sql)
一次查找一条,从结果集第一条开始查找
result1 = cur.fetchone()
一次查找一条,从上一次开始查找
result2 = cur.fetchone()
一次查找多条,从上一次开始查找
result3 = cur.fetchmany(3) # 一次查找3条
一次查找所有满足条件的结果,从上一次开始查找
result4 = cur.fetchall()
print("查找一条",result1)
print("查找一条",result2)
print("查找3条",result3)
print("查找所有",result4)
cur.close()
conn.close()

查找一条 (0, ‘lily_update’)
查找一条 (1, ‘update1’)
查找3条 [(2, ‘update2’), (3, ‘july’)]
查找所有 []

【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

5、删除数据表中的数据

数据库可视化:

原创 【数据库学习】——数据库可视化–Navicat下载安装连接教程【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍https://blog.csdn.net/qq_45769063/article/details/121101535 ;删除数据SQL语句:

delete from 数据表名 条件
“delete from user where id >= 1”
含义:从表user中删除id大于等于1的记录

执行前

【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

执行后

【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍
import sqlite3

conn = sqlite3.connect("linlianqin.db")
cur = conn.cursor()
sql语句
sql = "delete  from user where id >= ?" # 其中问号为占位符

cur.execute(sql,(1,))

cur.execute("select *  from user")
result4 = cur.fetchall()

print("查找所有",result4)
cur.close()
conn.commit()
conn.close()

查找所有 [(0, ‘lily_update’)]

Original: https://blog.csdn.net/qq_45769063/article/details/121101219
Author: 有情怀的机械男
Title: 【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

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

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

(0)

大家都在看

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