上一篇文章讲述了SQLite数据库创建删除、表的增删查。本篇文章来重点讲解WHERE的使用。
准备工作
在真正开始前,我们先做一点准备工作。创建一个SampleDB.db的数据库,在这个数据库创建一个表,表包括ID、Name和Age三个字段。记录有四条。

四条记录如下。

WHERE语句
当我们在使用SELECT、DELETE和UPDATE时,通过WHERE来限制操作的范围。例如下面的查询操作。

AND表示“而且”。

OR表示“或者”

IN 表示枚举,例如只要年龄是8或11的记录。

BETWEEN … AND … 是范围,例如限制年龄在8到11岁。

以上都是使用WHERE的查询,下面通过WHERE来更新记录,UPDATE … SET …是更新命令。
找到ID = 0的记录,把它的Name改为’Kara’

再插入4条数据。名字分别是Karl、Karo、Soya和Lori。此时就有三个名字是K开头的记录了,这为下面的LIKE的做准备。

LIKE表示“像什么一样”,需要和 % 或 _ 搭配使用。
%表示 0 ~ n个任意字符或数字,比如 %ABCD,那么CABCD、111ABCD、ABCD都是匹配的。
_表示 1个任意字符或数字,比如 A_CD,那么ABCD、A1CD、AZCD都是匹配的。
有了上面的准备,下面来查询Name是K开头的记录。

当然也可以像下面这样查询。不过它表示的是以K开头,且长度正好为4。

更多输出条件
当表里面有大量记录,而我们又不需要查询那么多记录时,可以用LIMIT来限制记录条数。当然,LIMIT也可以和WHERE搭配使用。

我们还可以让记录排序显示。ORDER BY … ASC是升序排列,ORDER BY … DESC是降序排列。


目前,Name是K开头的记录有三条,如下图。

SQL语句非常灵活,下面我们来进行一次查询,搭配WHERE、OEDER和LIMIT。
LIMIT要放到最后,否则会报错。

最后
本篇文章讲述了WHERE、LIMIT以及ORDER的使用方法。
本文深入讲解SQLite数据库中WHERE子句的使用,包括AND、OR、IN、BETWEEN...AND...以及LIKE条件。通过实例展示了如何筛选、更新和排序数据,并利用LIMIT限制查询结果的数量。同时,介绍了如何结合WHERE、ORDER BY和LIMIT进行复杂查询,以提高数据检索效率。
4247

被折叠的 条评论
为什么被折叠?



