SQLite 基本语法(二)

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

上一篇文章讲述了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 基本语法规则 #### 创建表格 创建新表时,可以指定列名称及其相应的数据类型以及约束条件。例如: ```sql CREATE TABLE company( id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INT NOT NULL, address CHAR(50), salary REAL ); ``` 此命令会创建名为 `company` 的表,并定义五个字段:id、name、age、address 和 salary[^3]。 #### 修改现有表结构 为了向现有的表中添加新的列,可使用如下 SQL 语句: ```sql ALTER TABLE old_company ADD COLUMN sex CHAR(1); ``` 这条指令会在 `old_company` 表里增加一列表示性别,其字符长度限定为单个字符[^1]。 #### 插入数据到表中 当需要往已有的表里面插入一条或多条记录的时候,则采用 insert into 语法形式: ```sql INSERT INTO company (name, age, address, salary) VALUES ('Tom', 25, 'Beijing', 8000),('Jerry', 27, 'Shanghai', 9000); ``` 上述代码片段展示了如何一次性向 `company` 表中加入两条员工的信息记录[^5]。 #### 查询特定表中的字段信息 如果想要获取某个具体表内的所有字段名连同它们各自对应的数据类型的话,那么可以通过执行下面这段查询实现目标: ```sql SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'company'; ``` 该命令返回的结果集将会列出 `company` 表里的每一个属性的名字加上它的数据类别[^4]。 #### 使用 GROUP BY 进行分组统计 对于希望按照某些共同特征来进行汇总分析的需求而言,GROUP BY 是非常有用的工具之一。比如计算不同部门下的平均工资水平就可以这样写: ```sql SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department; ``` 这里假设有一个叫做 `employees` 的关系型数据库对象存储着职员的相关资料;通过这个例子可以看出怎样利用 group by 来达到按部门分类并求取均值的效果[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值