使用*表示所有列
SELECT * FROM 表名;
查询指定列的数据,多个列之间以逗号分隔
SELECT 字段名 1, 字段名 2, 字段名 3, ... FROM 表名;
对列指定别名
SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名;
对列和表同时指定别名
SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名 AS 表别名;
查询指定列并且结果不出现重复数据
SELECT DISTINCT 字段名 FROM 表名;
条件查询的语法
SELECT 字段名 FROM 表名 WHERE 条件;
in 关键字
SELECT 字段名 FROM 表名 WHERE 字段 in (数据 1, 数据 2...); in 里面的每个数据都会作为一次条件,只要满足条件的就会显示
LIKE 表示模糊查询
SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串';
MySQL 通配符
% 匹配任意多个字符串
_ 匹配一个字符
通过 ORDER BY 子句,可以将查询出的结果进行排序(排序只是显示方式,不会影响数据库中数据的顺序)
SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC|DESC];
ASC: 升序,默认值
DESC: 降序
聚合函数:
SELECT 聚合函数(列名) FROM 表名;
分组 分组查询是指使用 GROUP BY 语句对查询信息进行分组,相同数据作为一组
SELECT 字段 1,字段 2... FROM 表名 GROUP BY 分组字段 [HAVING 条件];
having与where的区别 作用
where 子句 1) 对查询结果进行分组前,将不符合 where 条件的行去掉,即在分组之前过滤数据,即先过滤 再分组。 2) where 后面不可以使用聚合函数 having 子句 1)
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。 2) having 后面可以使用聚合函数
limit的作用:
LIMIT 是限制的意思,所以 LIMIT 的作用就是限制查询记录的条数。
SELECT *|字段列表 [as 别名] FROM 表名 [WHERE子句] [GROUP BY子句][HAVING子句][ORDER BY子 句][LIMIT 子句];
3 LIMIT语法格式:
LIMIT offset,length;
offset:起始行数,从 0 开始计数,如果省略,默认就是 0
length: 返回的行数