SQLlite数据库介绍(部分,后续会跟上全部)

前提介绍:

SQL(色扣)是IBM公司推出的一种数据库语言,数据库的学习主要是学习SQL语句。

SQLite的特点是轻量级,因此在本地数据存储中非常常用。

关系型数据库分为三类:

1,DML(数据操作语言):主要是增,删,改,查。
2,DDL(数据定义语言):对数据表定义和设计。
3,DCL(数据控制言):企业有专人负责(初学者不涉及)。

简单查询:

select 列【1】,列【2】...from 表名 

例子:select empno,job from emp;

 

分页查询:

在商业领域中,查询结果通常数据较大,根据实际需求和计算机性能而言,不需要同时把所有的查询结果展示,此时就可以使用分页查询,把所有结果分摊到多个页码中。

SQLite数据库主要通过LIMIT和OFFSET关键字来实现分页查询,这两个关键字仅影响查询结果的展示方式,并不影响查询本身。

其中LIMIT表示结果包含的记录数量(行数),OFFSET控制结果的起点。

例子:

1. 查询所有雇员信息,只显示前五个雇员的信息。

SELECT * FROM emp
LIMIT 5;

2. 查询公司基本工资前三名的雇员信息。

SELECT * FROM emp
ORDER BY sal DESC
LIMIT 3;

3. 查询公司编号位于3-5名的雇员编号和姓名。(limit和offset结合使用)

SELECT empno,ename
FROM emp
ORDER BY empno ASC 
LIMIT 3 OFFSET 2;
​​​​​
小总节:
分页查询实际上就是套公式。

设每页显示的数量为n,当前页码为m

SELECTFROM 表名 LIMIT n OFFSET (m-1)*n;

例子】百度数据库查询4399小游戏每页显示10记录当前7

SELECT * FROM youxi4399 LIMIT 10 OFFSET 60;

限定查询

限定查询就是在简单查询的基础上限制记录(行)。

WHERE子句筛选数据的方式可以分为六类:

  1. 关系运算
  2. 取值范围运算
  3. 基数范围运算
  4. 模糊查询
  5. 空判断
  6. 逻辑运算

关系运算

关系运算是最简单的运算符号:

> < >= <= <> != ==

【例子】查询工资高于3000的雇员信息(没说查什么信息,就是全查,全查可以用*)

  1. 查询基本工资小于1600的全部雇员信息

  1. 查询姓名是SMITH的雇员信息

注意:数据库中==可以替换成=,数据库中没有赋值这个概念; 单引号括起来表示字符串也就是文本。

3. 查询所有职位不是销售人员的信息

取值范围运算

取值范围运算使用BETWEEN...AND...

可以筛选两个数字之间的范围区间,这个区间是一个闭区间,包含两端。

【例子】查询所有在1981年雇佣的雇员信息。

1981年1月1日~1981年12月31日

【练习】查询工资范围在1200-3000之间的雇员信息。

基数范围运算

主要通过IN实现,IN后面的数据不能是NULL。

【例子】查询出雇员编号为7369/7566/7839/8899的信息。

【例子】查询出雇员编号不是7369/7566/7839/8899的信息。(加个NOT)

 模糊查询

模糊查询使用LIKE关键字配合两个符号来进行标记:

  • _

匹配任意一个字符

  • %

匹配任意多个字符(0,1,2...n个)字符

【例子】查询出所有姓名以A开头的雇员信息。

【练习】

  1. 查询所有姓名第二个字母是A的所有雇员信息

  1. 查询姓名中包含A的所有雇员的信息

例子:

描述

语句

查找以 200 开头的任意值

WHERE XX LIKE '200%'

查找任意位置包含 200 的任意值

WHERE XX LIKE '%200%'

查找第二位和第三位为 00 的任意值

WHERE XX LIKE '_00%'

查找以 2 开头,且长度至少为 3 个字符的任意值

WHERE XX LIKE '2__%'

查找以 2 结尾的任意值

WHERE XX LIKE '%2'

查找第二位为 2,且以 3 结尾的任意值

WHERE XX LIKE '_2%3'

查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

WHERE XX LIKE '2___3'

 空判断

在SQLiteSpy中,emp表的comm列,存在一些红色切无数据的情况。

这表示数据内容为空,也即是NULL。

【例子】查询公司不领取佣金的雇员信息。

没结果,说明NULL判断不能使用关系运算符,需要使用下面的方式判断空值:

  • IS NULL

判断是否为空

  • IS NOT NULL、NOT IS NULL

判断是否不为空

更改上面例题答案:

注意: IS NOT NULL和NOT IS NULL写法上稍有不同

SELECT * FROM emp WHERE NOT comm IS NULL;

SELECT * FROM emp WHERE comm IS NOT NULL;

 逻辑运算

逻辑运算与C语言相同,包括:

与操作: AND

或操作: OR

非操作(取反): NOT

【例子】查询出公司基本工资高于1300的销售信息。

  • 工资高于1300
  • 销售

作业:

  1. 吸收今天所学内容,记住需要记住的,课上练习至少敲2遍截图。
  2. 完成以下练习:

【练习】

  1. 查询出工资范围不在1200~1300(闭区间)之间的员工信息。

  1. 查询出10部门的经理信息。

  1. 查询出工资高于3000,或者职位是柜员的全部雇员信息。

4. 查询出所有职位不是柜员的信息

  1. 查询排序

可以把查询结果按照从小到大或者从大到小进行排序。

两种排序方式:

ASC: 升序,从小到大

DESC:降序,从大到小

【例子】查询所有雇员信息,要求基本工资从高到低排序。

【练习】查询部门20和部门30的雇员信息,要求按照雇员编号降序排序。

【例子】按照基本工资从高到低排序,如果工资相同,按照雇佣日期从早到晚排序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值