简单查找
select * from 表名称;
或者
select 列1,列2… from 表名称;
*号就相当于选择全部
DISTINCT
在简单查询的过程中,可能会出现重复字段,DISTINCT可以去除重复字段
select DISTINCT * from 表名称;
in
查询的目标限定在某个集合中时,用in条件来实现,当然也可以用 = 条件,同样支持 not in 反向查找
select * from tablename where filed in(value1,value2…);
//查询表的所有数据,条件 filed列 中含有 value1和value2的
BETWEEN AND
查找的数据在某个范围内时,可以使用,只对数字类型有用,同样支持NOT BETWEEN AND 反向查找,也可以使用>=等方式查找,效果相同
SELECT field1,field2,…,fieldn
FROM tablename WHERE fieldm BETWEEN minvalue AND maxvalue
LIKE模糊查找
通常时某个数值不完全记得时使用,需要配合通配符使用(%和_),这边需要主义的是,LIKE后面不跟=号
SELECT field1,field2,…,fieldn
FROM tablename WHERE fieldm LIKE value;
LIKE 同样可以联合AND 或者 OR 使用
ORDER BY对查询结果排序
select * from tablename ORDER BY field ASC或DESC
某表按照列field 升序(默认)或降序(DESC)排列
注意:如果列中含有NULL ,则会把NULL按照最小值算
简单分组查询
简单分组查询用到五个统计函数和group by
SELECT function()[,filed ]
FROM tablename WHERE CONDITION GROUP BY field;
GROUP BY field 以指定列为基础进行分组,列如以班级为基础,则1班数学平均值…
统计
COUNT(*):对表中所有记录进行统计,不管是否为NULL
COUNT(field):对指定字段进行统计,忽略NULL
求和
SUM(field):对该列经行求和,忽略NULL
平均值
AVG(field):对指定列求平均值,忽略NULL
最大值
MAX(field):对指定列返回最大值,忽略NULL
最小值:
MIN(field):对指定列返回最小值,忽略NULL
统计分组查询
在MySQL中,有些情况下,简单分组查询出现的可能会没有意义,如果要显示每个分组中的所有字段,可以通过GROUP_CONCAT(field)来实现
SELECT GROUP_CONCAT(field)
FROM tablename
WHERE CONDITION GROUP BY field;
在上述语句中会显示每个数组中的字段值。