一、匹配语法提高
- in 操作符
in 允许我们在 where 子句中规定多个值。
匹配条件语法:
where 列名 in (列值1, 列值2, …) - and 操作符
and 可在 where 子语句中把两个或多个条件结合起来(多个条件之间是与的关系)
匹配条件语法:
where 列1 = 值1 [and 列2 = 值2 and …] - or 操作符
or 可在 where 子语句中把两个或多个条件结合起来(多个条件之间是或的关系)。
匹配条件语法:
where 列1 = 值1 [or 列2 = 值2 or …] - between and 操作符
操作符 between A and B 会选取介于A、B之间的数据范围。这些值可以是数值、文本或者日期。
不同数据库存在的差别:
(1)有些数据库包含A不包含B。
(2)有些包含B不包含A。
(3)有些既不包括A也不包括B。
(4)有些既包括A又包括B。
匹配的语法格式:
where 列名 between A and B - like 操作符
用于模糊查找
匹配条件语法:
where 列名 like 列值
1、若列值为数字
相当于列名=列值。
2、若列值为字符串
可以用通配符“%”代表缺少的字符(一个或多个) - not 操作符
可取出原结果集的补集
not 可取出原结果集的补集。
匹配条件语法:where 列名 not in 列值等
例:
1、where 列名 not in (列值1, 列值2, …)
2、where not (列1 = 值1 [and 列2 = 值2 and …])
3、where not (列1 = 值1 [or 列2 = 值2 or …])
4、where 列名 not between A and B
5、where 列名 not like 列值 - order by 语句
默认按照升序对结果集进行排序,可使用desc关键字按照降序对结果集进行排序。
升序
select * from表名order by列名;
降序
select * from表名order by列名desc;
二、事务
事务(Transaction)可以使用 BEGIN TRANSACTION 命令或简单的 BEGIN 命令来启动。此类事务通常会持续执行下去,直到遇到下一个 COMMIT 或 ROLLBACK 命令。不过在数据库关闭或发生错误时,事务处理也会回滚。以下是启动一个事务的简单语法:
在SQLite中,默认情况下,每条SQL语句自成事务。
begin:开始一个事务,之后的所有操作都可以取消
commit:使begin后的所有命令得到确认。
rollback:取消begin后的所有操作。