MySQL 单表查询
查询数据表内数据
命令是SELECT * FROM table_name
数据表的去重查询
命令是SELECT DISTINCT field1,field2,…… FROM table_name
数据表中使用限制条件查询(WHERE的作用)
使用限制条件,数据库可以包含如下功能:
- 带关系运算符和逻辑运算符的条件数据查询
- 带BETWEEN AND 关键字的条件查询语句
- 带IS NULL 关键字的条件查询语句
- 带IN关键字的条件查询语句
- 带LIKE关键字的条件查询语句
1、带关系运算符和逻辑运算符的条件数据查询
2、带BETWEEN AND 关键字的条件查询语句
当同时给出两个或以上条件时,可用AND关键字连接查询条件。
如:SELECT field1 FROM table_name WHERE field2='value2' AND field2>value3;
需要查询取值范围区间可使用BETWEEN AND,语法格式如下:
SELECT field1 FROM table_name WHERE field2 [not] BETWEEN valuea AND valueb;
3.带IS NULL 关键字的条件查询语句
语法格式如下:
SELECT field1 FROM table_name WHERE field2 IS [not] NULL;
4.带IN关键字的条件查询语句
语法格式如下: SELECT field1 FROM table_name WHERE field2 [not] IN (value1,value2……valuen);
IN关键字可以用来匹配括号内任一值的查询条件
5.带LIKE关键字的条件查询语句
用LIKE关键字查询时,需要和通配符一起使用,常用的通配符有“_”、"%":
“_”指匹配单个字符,例“_三”,“三”前面只能有一个字符,组合如“王三”、“李三”、“赵三”等;
“%”可以匹配任意字符,例“%三”,组合如“王小三”、“王小小三”等。
数据表的单表查询
LIMIT 提取指定行
ORDER BY(ASC/DESC)排序 (升序/降序)
常用统计函数 (COUNT()计数 / AVG()平均数 / SUM()求和 / MAX()最大 / MIN()最小)
GROUP BY 分组
HAVING 对计算结果进行条件查询
LIMIT:
SELECT */field FROM table_name LIMIT (NUM)→ 提取NUM对应的数字(包含)前面的 数据
SELECT */field FROM table_name LIMIT (NUM 1,NUM 2)→ 提取从 NUM 1+1 开始 NUM 2的数据
例 SELECT * FROM Commodity LIMIT (4,10) 即 从Commodity 表中第五行开始 输出10行的数据
ORDER BY:
SELECT */field FROM table_name ORDER BY field/计算结果, ASC(不写时默认升序)/DESC(降序) ,将选中的数据按照指定的方式排列
常用统计函数:
COUNT()函数:统计记录数
AVG()函数:求平均值
SUM()函数:求和
MAX()函数:求最大数
MIN()函数:求最小数
聚合函数的优先级高于where,当聚合函数和where共存时,先计算聚合函数,where不能限制聚合函数的计算范围
COUNT()函数的两种实现方法:
- COUNT(*) 对表中所有记录进行计数,包含null
- COUNT(field) 进对选中字段 not null 的数据计数
若表中无数据,count()返回0,其他函数返回Null
GROUP BY:
SELECT */field FROM table_name GROUP BY field,将选中的数据根据指定字段分组查询
HAVING:
MySQL中,要对分组查询结果进行条件限制查询,不能使用WHERE关键字,需要使用HAVING关键字 ,HAVING 与 WHERE一样是条件查询关键词,不同的是WHERE 仅针对源数据写条件,HAVING可以根据计算结果写条件
原文链接:https://blog.csdn.net/su_2018/article/details/83756950