1、查询表中所有的字段(列)
语法:select * from 表名;
* 是通配符,用来表示所有的字段(列)。
select 表示查询哪些列。
from 表示从哪张表中查询。
2、查询表中指定的字段
语法:select 列名1, 列名2, ..., 列名n from 表名;
写的时候列的顺序可以与表中列的顺序一致,也可以不一致。
3、去重查询
去重指的是把查询结果中重复的值去掉,只保留一个值。
语法:select distinct 列名 from 表名;
distinct 不同的,有区别的。
注意事项:
- 对多列去重,是对多列进行组合去重,不是对每一列单独去重;
- distinct 关键字只能写一个,而且要写在 要去重的第一个列名的前面。
4、设置别名
select 列名1 as 别名1, 列名2 as 别名2, ..., 列名n as 别名n from 表名 as 表的别名;
5、限制查询结果的条数(分页查询)
语法:select * from 表名 limit 初始位置 , 要显示的数据的条数;
初始位置:表示从哪一条数据开始显示,包括该位置,初始位置比行号少1。
要显示的数据的条数:要显示几行数据,该值就是几。
6、对查询结果进行排序
语法:select * from 表名 order by 列名排序方式;
排序方式有两种:升序和降序。
升序:从小到大,使用asc来排序,asc是ascend(上升、升高)单词的缩写。
降序:从大到小,使用desc来排序,desc是descend(下来,下降)单词的缩写。
如果不写排序方式,默认是升序排序。
7、单条件查询
单条件指的是where后面跟了一个查询条件。
语法:select * from 表名 where 列名 比较运算符 值;
比较运算符:
- > 大于
- >= 大于等于
- < 小于
- <= 小于等于
- != 或者 <> 不等于
- = 等于
8、多条件查询
多条件指的是在where后面跟了多个查询条件,条件与条件之间要使用逻辑运算符进行连接。
select * from 表名 where 列名1 比较运算符 值1 逻辑运算符 列名2 比较运算符 值2;
逻辑运算符:
- not 非,取反。 例如:not num > 20 等价于 num <= 20;
- and 且,表示多个条件都要成立,查询条件才是成立的;
- or 或者,表示多个条件只要有一个条件成立,查询条件就是成立的。
9、模糊查询
语法:select * from 表名 where 列名 like 字符串;
在模糊查询会使用到通配符。
(1)% (百分号通配符):用来匹配任意字符(包括中文、字母、标点符号、数字等)出现的任意次数(包括0次)。
eg:"q%w" 可以匹配:qw、q1w、q我爱中国w、qtw
(2)_ (下划线通配符):用来匹配任意字符只出现一次,不能多也不能少,只能是一次。
eg:"q_w" 可以匹配:q1w、q中w、qtw;不能匹配:qw、q中国w、q123w、qteetw
10、空值查询
在MySQL中要使用NULL关键字表示值为空。空值不是表示0,也不是表示空字符串。
语法:select * from 表名 where 列名 is null;
11、非空值查询
语法:select * from 表名 where 列名 is not null;
12、范围查询
范围查询需要使用到between and关键字来判断字段的值是否在两个值之间。
语法:select * from 表名 where 列名 between 起始值 and 终止值;
注意事项:
- 起始值一定要小于终止值;
- 包含起始值和终止值。
13、in查询
语法:select * from 表名 where 列名 in (值1, 值2, ..., 值n);
将符合括号中值的数据全部查询出来,即会使用某列的值与括号中的值进行比较。如果相等,就会查询出来。