本文用于MySql 5.5
黄字为可省略步骤
蓝字不可省略
绿字为注释
DQL(数据查询语言)
查询表数据:
SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件;
查询所有字段用* 不带WHERE条件 把表的所有记录查出来
过滤掉重复的值:
SELECT DISTINCT 列名1 FROM 表名;
该列重复的值将不会显示出来
连接:
SELECT CONCAT(列名1, 列名2, ) FROM 表名;
使查询结果为多个列值连在一起
OR
SELECT CONCAT_WS('==', 列名1, 列名2, ) FROM 表名;
使查询结果为多个列值连在一起
并增加列值连接符
OR
SELECT CONCAT_WS('==', 列名1, 列名2, ) AS 重命名 FROM 表名;
使查询结果为多个列值连在一起
并增加列值连接符
并修改查询结果列名
AS为重命名
模糊查询:
SELECT 列名 FROM 表名 WHERE 表名 LIKE '%关键字%';
这是全模糊,还有左模糊右模糊
LIKE效率并不高, 数据量庞大的情况下建议用Sphinx(斯芬克斯)
Sphinx是一个基于SQL的全文检索引擎
排序查询:
SELECT 列名1,列名2 ... FROM 表名 ORDER BY 被排序的列名 ASC;
ASC为正序, 将ASC换成DESC时为倒序 不写时默认为正序
聚合函数:
SELECT COUNT(*) FROM 表名; 查询表的记录数
SELECT SUM(列名) FROM 表名; 查询此列的和
SELECT AVG(列名) FROM 表名; 查询此列的平均值
SELECT MAX(列名) FROM 表名; 查询此列的最大值
SELECT MIN(列名) FROM 表名; 查询此列的最小值
分组查询:
SELECT COUNT(*) FROM 表名 GROUP BY 性别列 按照性别分组
来源:oschina
链接:https://my.oschina.net/u/4379197/blog/4108705