外键:一个表中的某数据项的数据要参照另一个表的主键数据,可以重复,可以为空;一张表中可以有多个外键
索引:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
DDL:Data Definition Language(数据定义语言),操作数据库对象和数据库对象的属性,例如:Create\Drop\ALTER\ Table、Create\drop index;
DCL:Data Control Language(数据控制语言),操作是数据库对象的权限 例如:grant\revoke\commit\rollback\lock;
DML:Data Manipulation Language(数据操纵语言),操作是数据库对象中包含的数据,例如:Insert\update\delete\select
创建数据表:create table 表名(字段1 字段类型,字段2,字段类型…… 约束定义1, 约束定义2……)
删除字段:alter table 表名 drop 字段名
销毁数据表:drop 表名
清空数据表:delete from 表名
数据更新:update 表名 set 字段=值(where 字段=值)
数据检索:
SELECT〈列名〉[{,〈列名〉}]
FROM〈表名或视图名〉[{,〈表名或视图名〉}]
[WHERE〈检索条件〉]
[GROUP BY <列名1>[HAVING <条件表达式>]]
[ORDER BY <列名2>[ASC|DESC]];
where后过滤条件:
"_":匹配单个字符;
"%":匹配多个字符;
"[]":匹配满足集合要求的字符
eg:
数据分组: group by ,而其一般聚合函数(max min count sum等);
注意:
group by +
where (className<>'math') group by subject
where (className<>'math') group by all subject
HAVING子句可以让我们筛选成组后的各组数据,WHERE子句只能聚合前先筛选记录.但是不能筛选聚合后的组记录,where只能作用在GROUP BY 子句和HAVING子句前。但是HAVING子句能在聚合后对组记录进行筛选。
如果两个查询结果直接没有任何的联系,只是需要二者显示在一起,就可以使用union函数联合
注意:1.每个结果集必须有相同的列;2.每个结果集的列类型必须相容
union和union all 的区别:union会自动将查询出来的结果进行重复比较如果有重复,则只显示一条,而union all 则将查询出来的结果直接显示出来
注:distinct,去除的表的重复数据,而union是表和表之间的