目录

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')]

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

  1. Android中数据库的一些操作(增删改查)

    提起Android的开发,就不得不提数据库,几乎每个App中都会用到Sqlit数据库存储一些数据,小编闲暇时期,写了一个小demo关于数据库的增删改查,之前也介绍过数据库的一个开源框架ORMLite, ...

  2. python增删改查mysql_python对数据库mysql的操作(增删改查)

    #coding=utf-8 import pymysql # #查询 # def connMySQL(): # try: # conn=pymysql.connect('localhost','roo ...

  3. python学习笔记 day04 列表增删改查

    写了一个python文件,想在终端中运行:windows+r(或者cmd)输入python+想要运行的py文件所在的目录 即可. pycharm的安装 参考博客: https://www.jiansh ...

  4. oracle删除排序数据库,数据库的数据操作:增删改查和排序

    一.增 1.1[插入单行]insert [into] (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values ('开心朋朋','男','1 ...

  5. python数据库增删改查_python对数据库mysql的操作(增删改查)

    #coding=utf-8 import pymysql # #查询 # def connMySQL(): # try: # conn=pymysql.connect('localhost','roo ...

  6. django2 mysql驱动_Django框架学习(二)Django连接Mysql数据库,实现表的增删改查

    创建一个Django项目 方法: 1.使用 django-admin.py 管理工具来创建项目 2.用Pycharm专业版可以直接创建Django 项目 我直接用Pycharm创建的项目,比较简单,也 ...

  7. SQLite 数据库安装、创建、增删改查(一)

    目录 一.学习资料 二.下载软件 1.SQLite 2.SQLiteStudio 3.Navicat 15 for SQLite 4.System.Data.SQLite.dll 三.创建数据库 1. ...

  8. oracle将查询结果声明为伪表,Oracle查询操作(增删改查,伪表,高级查询)实例讲解...

    SQL查询操作:增删改查 一.SQL操作符 算术操作符 + - * / 比较操作符 = != < > <= >= BETWEEN--AND IN LINK IS NULL 逻辑 ...

  9. C++数据库编程 MySQL Connecttor C++增删改查

    C++数据库编程简介 C++数据库编程 ODBC简介 C++数据库编程 ODBC连接SQL Server数据库 C++数据库编程 ODBC插入数据 C++数据库编程 ODBC查询数据 C++数据库编程 ...

最新文章

  1. 浅析大规模DDOS防御架构:应对T级攻防
  2. esp8266单片机透传_ESP8266通过MQTT接入Home Assistant
  3. 一体化机柜在县级支行机房标准化建设中的应用
  4. k3 物料收发明细表sql_物料管理:班组长物料使用应知应会4件事
  5. linux的网络不可达问题,我的服务器日志中的linux – (网络不可达)错误
  6. 利用HTML5中Geolocation获取地理位置在Google Map上定位
  7. 案例:实现用户注册功能
  8. jQuery 基本知识详解
  9. 修改element ui的table的某一列的样式
  10. libyuv库的测试cpp
  11. angular中的cookie读写
  12. windows权限提升——烂土豆+dll劫持+引号路径+服务权限
  13. 烤氏历史第4集:TD往事-商用分水岭
  14. 华盛顿州法律确定区块链记录具有法律效力和可执行性
  15. Normal Map中的值, Tangent Space, 求算 Tangent 与 Binormal 与 TBN Matrix
  16. SpringMVC 配置定时执行任务
  17. iOS开发-将UIView置于最上层
  18. 9_用户的登录和登出
  19. 思科交换机:基本命令(上)
  20. LV算法和回溯法结合解n后问题

热门文章

  1. MAC和XCODE常用快捷键
  2. 收藏一些自己认为好的网站或博客
  3. 巧用VC工程下的rc文件
  4. 2012 不宜进入的三个技术点(下)
  5. Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据
  6. VS 2005 安装一个的小问题
  7. webpack — 概述 (2)
  8. Asp.Net Core 工作单元 UnitOfWork UOW
  9. scroll-view——小程序横向滚动
  10. Java中MySQL事务处理举例