目录
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函数,SQLithttps://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)数据操作常见步骤
- 连接数据库
- 创建游标对象
- 根据操作创建sql语句
- 利用execute/executemany函数执行SQL语句
- 关闭游标对象
- 提交事务(查询不需要,只有在表内容发生改变的时候才需要进行事务提交,保证数据完整性)
- 关闭数据库
2、向数据表中增加数据(insert into)
数据库可视化:
原创 【数据库学习】——数据库可视化--Navicat下载安装连接教程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 sqlite3conn = 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()
2)向数据表中一次性添加多条记录
import sqlite3conn = 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()
3、修改数据表中已有的数据
数据库可视化:
原创 【数据库学习】——数据库可视化--Navicat下载安装连接教程https://blog.csdn.net/qq_45769063/article/details/121101535修改数据SQL语句:(问号表示占位符)
update 数据表名 set 字段名 = ?where 主键名 = ?
update user set name = ? where id = ?
含义:将数据表user中主键为?的name字段值修改为?
1)一次修改一条记录
import sqlite3conn = 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()
2)一次修改多条记录
import sqlite3conn = 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()
4、查询数据表中的数据
数据库可视化:
原创 【数据库学习】——数据库可视化--Navicat下载安装连接教程https://blog.csdn.net/qq_45769063/article/details/121101535查询数据SQL语句:
select * from 数据表名 条件
"select * from user where id >= 0"
含义:从表user中选择id大于等于0的记录
注:在同一个代码中有多次查询,下一次查询都是基于上一次查询的基础上开始的
import sqlite3conn = 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')]
查找所有 []
5、删除数据表中的数据
数据库可视化:
原创 【数据库学习】——数据库可视化--Navicat下载安装连接教程https://blog.csdn.net/qq_45769063/article/details/121101535删除数据SQL语句:
delete from 数据表名 条件
"delete from user where id >= 1"
含义:从表user中删除id大于等于1的记录
执行前
执行后
import sqlite3conn = 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')]