上一篇文章讲述了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的使用方法。