7.2 简单数据记录查询
-
7.2.1 查询所有字段
select *|字段名 from 表名; -
7.2.2 查询指定字段
select 字段名 from 表名; -
7.2.3查询指定记录
select *|字段名 from 表名 where 条件; -
7.2.4多条件查询
使用and关键字查询:
select *|字段名 from 表名 where 条件1 and 条件2;
使用or关键字查询:
select *|字段名 from 表名 where 条件1 or 条件2;
使用in关键字查询:
(使用in关键字可以查询字段值大于指定集合中人意一个值的记录)
select *|字段名 from 表名 where 字段名 in (value1,value2); -
7.2.5查询空值
select *|字段名 from 表名 where 字段名 is null; -
7.2.6查询结果不重复
select distinct 字段名 from 表名; -
7.2.7范围查询
select *|字段名 from 表名 where 字段名 between value1 and value2;
SELECT name,price FROM goods WHERE price BETWEEN 2.5 AND 50; -
7.2.8字符匹配查询
select *|字段名 from 表名 where 字段名 like 通配符;查询goods表中name值以“果“开头的记录
SELECT * FROM goods WHERE name LIKE ‘果%’;查询goods表中name值以“西“开头,“西”后面有两个字符的记录
SELECT * FROM goods WHEREname like ‘西__’; -
7.2.9排序查询
select *|字段名 from 表名 order by 字段名[升序asc|降序desc];查询goods表中id,name和add_time字段的数据,并按照add_time字段值进行排序
SELECT id,name,add_time FROM goods ORDER BY add_time;查询goods表中所有记录,并按照price和num字段值进行排序
SELECT * FROM goods ORDER BY price,num;查询goods表中所有记录,并按照price字段值进行降序排序
SELECT * FROM goods ORDER BY price desc; -
7.2.10限制查询结果的数量
select *|字段名 from 表名 limit [起始位置(从0开始] 记录条数;
{
将goods表中的前3条记录查询出来
SELECT * FROM goods LIMIT 3;查询goods表从第3条记录考生,总条数为3的记录
SELECT * FROM goods LIMIT 2,3;
(当起始位置为2,MYSQL会从表的第3条记录开始查询)
}
7.3聚合函数和分组记录查询
7.3.1使用聚合函数查询
select function(*|字段名) from 表名 where 条件;
1.count函数:计算表中记录的条数
{
查询goods表中总的记录条数
select count(*) AS goods good_num from goods;
查询goods表中有库存(num值不为NULL)的记录条数
select count(num) as goods_num from goods;
}
-
sum()函数:计算字段值的总和
查询goods表中商品库存的总和
select sum(num) as goods_num from goods; -
avg()函数:计算字段值平均值
查询goods表中每个商品类别的平均价格
select type,avg(price) from goods group by type; -
max()函数和min()函数:查询表中字段值的最大值,最小值
查询goods表中商品的最高价格和最低价格
select max(price),min(price) from goods;
7.3.2分组查询
select |字段名, 聚合函数 ,from 表名 group by 字段名 [having 条件];
{
将goods表中记录按照type字段进行分组,并统计每组数量
select type,count() from goods group by type;
使用having过滤分组后数据
select type ,count(**) from goods group by having count(*)>1;
}