3-1-2 MySQL基础-数据库的基本查询

普通查询

最基本的查询是由SELECT和FROM关键字组成的

1 SELECT * FROM t_teacher;

使用列别名

1 SELECT
2     e.ename AS '名称'
3 FROM t_emp e

查询语句的子句执行顺序

1.语法分析与优化:读取SQL语句

2.FROM:选择数据来源

3.SELECT:选择输出内容

数据分页

如果结果集的记录很多,可以使用LIMIT关键字限定结果集数量

语法:

SELECT ... FROM  ... LIMIT 起始位置,偏移量;

1 SELECT empno,ename FROM t_emp LIMIT 0,5;

如果LIMIT子句只有一个参数,他表示的是偏移量,起始值默认为0

1 SELECT empno,ename FROM t_emp LIMIT 5;

查询语句的子句执行顺序

FROM -> SELECT -> LIMIT

结果集排序

使用ORDER BY 对结果集排序

SELECT ... FROM .. ORDER BY 列名 [ASC][DESC];

1 SELECT * FROM t_salgrade ORDER BY losal;

ASC代表升序(默认),DESC代表降序

如果排序列是数字类型,数据库按照数字大小排序,如果是日期类型就按照日期大小排序,如果是字符串就按照字符集序号排序.

排序字段内容相同的情况

如果排序字段内容相同,MySQL会按照主键大小排序.

多个字段排序

我们可以使用ORDER BY规定首要排序条件和次要排序条件.

数据库会首先按照首要排序条件排序,如果遇到相同排序内容,那么将启用次要条件接着排序

排序+分页执行顺序

ORDER BY子句书写的时候放在LIMIT子句的前面

FROM -> SELECT -> ORDER BY ->LIMIT

去除重复记录

SELECT DISTINCT 字段 FROM 表名;

1 SELECT DISTINCT job FROM t_emp;

注意

使用DISTINCT的SELECT语句只能查询一列数据,如果查询多列,去除重复记录就会失效

1 SELECT DISTINCT job, ename FROM t_emp;

DISTINCT关键字只能在SELECT子句中使用一次

1 SELECT DISTINCT job, DISTINCT ename FROM t_emp;

条件查询

SELECT 字段 FROM 表名 WHERE 条件 [AND][OR] 条件 ...;

四类运算符

WHERE语句中的条件会用到以下四种运算符

1.算术运算符

序号 表达式 意义 例子
1 + 加法 1+2+3
2 - 减法 1-2-3
3 * 乘法 5*35
4 / 除法 231/15
5 % 求模 10%3

2.比较运算符

序号 表达式 意义 例子
1 > 大于 age>18
2 >= 大于等于 age>=18
3 < 小于 age<18
4 <= 小于等于 age<=18
5 = 等于 age=18
6 != 不等于 age!=18
7 IN 包含 age IN (18,19,20)

3.逻辑运算符

序号 表达式 意义 例子
1 AND age>18 AND sex='男'
2 OR empno = 8000 OR deptno = 20
3 NOT NOT deptno = 20
4 XOR 异或 age>18 XOR sex='男'

4.按位运算符

序号 表达式 意义 例子
1 & 位与 3&7
2 | 位或 3|7
3 ~ 位取反 ~10
4 ^ 为异或 3^7
5 << 左移 10<<1
6 >> 右移 10>>1

WHERE子句的注意事项

WHERE子句中,条件执行的顺序是从左到右的.所以应该把索引条件或者筛选掉记录最多的条件写在最左侧

各种子句的执行顺序

FROM -> WHERE -> SELECT -> ORDER BY -> LIMIT

posted @ 2020-09-18 06:33  mingmingn  阅读(172)  评论(0)    收藏  举报