SQLite 删除语句和匹配条件 | 学习笔记

简介: 快速学习 SQLite 删除语句和匹配条件

开发者学堂课程【嵌入式之 RFID 开发与应用2020版:SQLite 删除语句和匹配条件】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/665/detail/11226


SQLite 删除语句和匹配条件

内容介绍:

一、删除表中的数据 delete:语句

二、查询: select 语句

三、匹配条件语法

 

一、删除表中的数据 delete:语句

使用 where 根据匹配条件,查找一行或多行,根据查找的结果删除表中的查找到的行。

语法: delete from 表名[匹配条件];

注意: 当表中有多列、多行符合匹配条件时会删除相应的多行。

在终端下输入:

sqlite> delete from persons where name='peter ';

删除是有条件的,也就是在删除时要指定表指定列。

查看表:sqlite> select * from tbl;

101|zs|bj

102|ls|tj

103|ww|sh

/执行删除操作,需要指明删除的表以及要删除的内容。

sqlite> delete from tbl where id=103;

sqlite> select * from tbl;

101|zs|bj

102|ls|tj

现在这个表内容较少,先执行插入操作,将表内容增加。

sqlite> insert into tbl values ( 103, 'ww' , 'sh ' ) ;

sqlite= insert into tbl values (104,'zs' ,'cd' ) ;

slite> select * from tbl;

101|zs|bj

102|ls|tj

103|ww|sh

104|zs|cd

sqlite>

注意:删除一定要有条件,如果没有条件会将表中的所有内容都删除。

回顾 update:

进行修改操作的第一种方法,如下:

sqlite>update tbl set addr='cq' where addr='cd ';

sqlite> select *from tbl;

101|zs|bj

102|ls|tj

103|ww|sh

104|zs|cq

sqlite>

第二种方法:

sqlite> update tbl set addr='cd' where id=104;

sqlite> select*from tbl;

101|zs|bj

102|ls|tj

103|ww|sh

104|zs|cd

sqlite>

sqlite> insert into tbl values ( 104, 'xw' , 'cq' );

sqlite> select * from tbl;

101|zs|bj

102|ls|tj

103|ww|sh

104|zs|cd

104|xw|cq

sqlite>

如果 where 后的条件匹配的对象是多个,如上表修改 id 为 104 的数据,就会将 id 为 104 的数据都修改;如果是删除 id 是 104 的数据,就会将所有 id 是 104 的数据删除。

 

二、查询: select 语句

用于从表中选取数据,x结果被存储在一个结果表中(称为结果集)。语法:

1、 select * from 表名[匹配条件];

2、select 列名1[,列名2,...] from 表名[匹配条件];

提示:星号(*)是选取所有列的通配符。

在终端下输入:

sqlite> insert into persons values (1,'peter ', 'tianjing' );

sqlite> insert into persons values (3,'bob ', 'hebei ');

sqlite> select *from persons;

1| lucy |beijing

1| peter |tianjing

3 | bob | hebei

sqlite> select * from tbl;——是查询表中的所有内容

sqlite> select id from tbl;——是查询id列数据

101

102

103

104

104

sqlite> select name from tbl;——查询表中 name 列数据

查询的方式非常多,大家可以根据实际情况选择查询方式。

对齐方式:sqlite> . mode column 左对齐列

sqlitez select * from tbl;

101     zs      bj

102     ls       tj

103     ww     sh

104     zs       cd

104     xw      cq

sqlite> .headers on 列名显示

sqlitez select * from tbl;

id     name    addr

----   --------  -------

101     zs      bj

102     ls       tj

103     ww     sh

104     zs       cd

104     xw      cq

 

三、匹配条件语法

数据库提供了丰富的操作符配合 where 子句实现了多种多样的匹配方法。如:1.in操作符 2.and 操作符 3.or 操作符 4.between and 操作符 5.like 操作符 6.not 操作符

1.in 操作符

in 允许我们在 where 子句中规定多个值。

匹配条件语法: where 列名 in (列值1,列值2,...)

例: ①select * from 表名 where 列名 in(值1,值2,..);

②select 列名1[,列名2..] from 表名 where 列名 in (列值1,列值2,…)

当条件满足 in 里面的值后,就可以进行查看、修改、删除等一系列操作。

举例:sqlite> select *from tbl where id in ( 103,104);

id     name    addr

----   --------  -------

103     ww     sh

104     zs       cd

104     xw      cq

2.and 操作符

and 可在 where 子语句中把两个或多个条件结合起来(多个条件之间是与的关系)。

匹配条件语法: where 列1=值1 [ and 列 2= 值2 and ...]

例: ①select * from 表名 where 列 1= 值 1[ and 列 2=值 2and ...];

②select 列名 1[,列名 2,..] from 表名 where 列 1= 值 1 [and 列 2= 值2 and ...];

执行 and 操作时,满足双重条件才能执行。

举例:sqlite> select * from tbl where id=104 and addr="cd";

id     name    addr

----   --------  -------

104     zs       cd

3.or 操作符

or 可在  where 子语句中把两个或多个条件结合起来(多个条件之间是或的关系)。

匹配条件语法: where 列1=值1 [or 列2=值2 or ...]

例: ① select * from 表名 where 列1=值1[or 列2=值2 or ...];

②select 列名1[,列名2....] from表名列1=值1[or 列2=值2 or ...];

执行 or 操作时,只需满足其中一个条件即可。

举例:

sqlite> select * from tbl where id=104 or addr="cd";

id     name    addr

----   --------  -------

104     zs       cd

104     xw      cq

4.between and 操作符

操作符 between A and B 会选取介于 A、B 之间的数据范围。这些值可以是数值、文本或者日期。

注意: 不同的数据库对 between A and B 操作符的处理方式是有差异的。

(1)有些数据库包含 A 不包含 B。

(2)有些包含 B 不包含 A。

(3)有些既不包括 A 也不包括 B。

(4)有些既包括 A 又包括 B。

匹配条件语法: where 列名 between A and B

例: ①select * from 表名 where 列名 between A and B;

②select 列名 1[,列名 2...] from 表名 where 列名 between A and B;

注: 匹配字符串时会以 ascii 顺序匹配。

举例:sqlite> select * from tbl where id between 102 and 104;

id     name    addr

----   --------  -------

102     ls       tj

103     ww     sh

104     zs       cd

104     xw      cq

我们这里的 between A and B 是 A、B 都包含的。

5.like 操作符

like 用于模糊查找。

匹配条件语法: where 列名 like 列值

①若列值为数字

相当于列名=列值。

②若列值为字符串

可以用通配符“%”代表缺少的字符(一个或多个)。

举例:sqlite> select*from tbl where id like '1%' ;

id     name    addr

----   --------  -------

101     zs      bj

102     ls       tj

103     ww     sh

104     zs       cd

104     xw      cq

以上显示的是以 1 开头的数据,如果将 1 改为 4:

sqlite> select*from tbl where id like '4%' ;

id     name    addr

----   --------  -------

104     zs       cd

104     xw      cq

sqlite> select*from tbl where id like 'c%' ;

id     name    addr

----   --------  -------

104     zs       cd

104     xw      cq

6.not 操作符

not 可取出原结果集的补集。

匹配条件语法: where 列名 not in 列值等

例: ①where 列名not in (列值1,列值2,.….)

②where not (列1=值1[and列2=值2 and ...])

③where not (列1=值1 [or列2=值2 or ...])

④where 列名 not between A and B

⑤where 列名 not like 列值

sqlite> select*from tbl where id like 'c%' ;

举例:sqlite> select*from tbl where addr not like 'c%' ;

id     name    addr

----   --------  -------

101     zs      bj

102     ls       tj

103     ww     sh

这里有些东西是无法实现的,比如不能提供整体操作,如复制表、修改表结构要分布操作。

相关文章
|
2月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
134 6
|
3天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
48 15
|
2月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
75 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
1月前
|
存储 SQL 数据库
数据库知识:了解SQLite或其他移动端数据库的使用
【10月更文挑战第22天】本文介绍了SQLite在移动应用开发中的应用,包括其优势、如何在Android中集成SQLite、基本的数据库操作(增删改查)、并发访问和事务处理等。通过示例代码,帮助开发者更好地理解和使用SQLite。此外,还提到了其他移动端数据库的选择。
38 8
|
2月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
36 4
|
2月前
|
存储 关系型数据库 数据库
轻量级数据库的利器:Python 及其内置 SQLite 简介
轻量级数据库的利器:Python 及其内置 SQLite 简介
64 3
|
2月前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
|
3月前
|
存储 API 数据库
QML使用Sqlite数据库存储ListModel数据
本文介绍了在QML中使用Sqlite数据库存储ListModel数据的方法,包括如何创建数据库、读取数据、动态添加和删除数据,以及如何在程序启动和退出时与数据库同步数据。
|
3月前
|
数据库 数据库管理
qt对sqlite数据库多线程的操作
本文总结了在Qt中进行SQLite数据库多线程操作时应注意的四个关键问题,包括数据库驱动加载、加锁、数据库的打开与关闭,以及QsqlQuery变量的使用。
208 1
|
2月前
|
存储 缓存 关系型数据库
sqlite 数据库 介绍
sqlite 数据库 介绍
43 0