昨日内容回顾
-
数据基础约束条件
非空 唯一 无符号 零填充
-
主键的使用
具有唯一性标识的字段即为主键,主键常采用自增的数字。
数字的自增进程单独记录,不会因为数据的删除回退,但是对主键字段主动赋值会改变自增进程。
-
外键的使用
外键使用分三个情形:
一对多,外键设置在对应多个数据的数据那张表中;
多对多,需要新建一张表储存数据的对应关系,使用外键关联原数据的主键;
一对一,外键设置在查询频率较高的数据表中。
绑定外键的数据值默认无法修改或删除,想要同时修改或删除使用cascade关键字
今日内容概要
- 数据查询关键字where
- 数据查询关键字group by
- 数据查询关键字having
- 数据查询关键字distinct
- 数据查询关键字order by
- 数据查询关键字limit
- 数据查询关键字regexp
- 多表查询的思路
今日内容详细
数据查询关键字where
where后跟条件定位,得到满足条件的数据组成的表。
对数字筛选可以使用between关键字,筛选指定区间的数字,包含等于。
筛选空值的条件为is null。
模糊条件
% 代替任意数量的任意字符
_ 代替一个任意字符
数据查询关键字group by
可对where筛选后的数据进行分组,得到分组依据的字段下的数据的分组结果组成的表。
使用group by关键字时,前边select后也需要跟分组依据的关键字。
聚合函数
使用聚合函数max/min/avg/sum/count对数据进行数学计算。
分组依据外字段
默认情况下无法展示分组下其他字段对应数据,使用group_concat()方法将数据连接后进行展示。
数据查询关键字having
对group by分组后的数据进行进一步筛选,得到满足指定条件的数据组成的表。
数据查询关键字distinct
筛选表中指定字段中的独一无二的数据,得到该字段中不重复的数据组成的表。
若指定的的是字段的组合,则组合结果不完全相同即判定为不同。
数据查询关键字order by
对表中的数据按照指定字段排序,并得到一张排序后所选数据的表。
asc ascend的缩写,升序排序关键字,默认升序可不写。
desc descend的缩写,降序排序关键字。
排序可指定多个排序条件,按照从左往右的数据,依次在前一个字段的排序结果下继续排序。
数据查询关键字limit
得到限定数量的数据组成的新表,填写一个数字为从头开始展示几个,两个数字为跳过第一个数字的数量,向下展示第二个数字数量的数量。
数据查询关键字regexp
得到满足正则表达式的数据组成的表。
多表查询的思路
当选择多个表同时展示时,展示的结果为两个表数据的笛卡尔积。
如果想要展示具有逻辑关系的合理结果,需要手动对两表中具有对应关系的字段进行对照:
select * from table1,table2 where table1.field1=table2.field2
标签:外键,查询,关键字,分组,MySQL,排序,数据
From: https://www.cnblogs.com/akazukis/p/16926619.html