目录
一.约束
1.not null
2.unique
3.default
4.primary key
5. foreign key
6.check
7. 综合使用
二.进阶查询
1.新增(插入查询的结果)
2.聚合查询
a.聚合函数
b.使用
3.分组查询
4.联合查询
a.内连接
b.外连接
c.自连接
d.子查询
5.合并查询
三.总结
一.约束
1.not null
指定某列不能够存储空值.
2.unique
指定某列中每行的值不能够重复.
3.default
指定没有给某列赋值时的默认值
4.primary key
主键, not null 与 unique的结合体, 指定某列中每行的值非空且唯一.
通常在primary key后加 auto_increment, 表示自增操作.
5. foreign key
外键, 外键用于一张表中的字段关联另一张表的主键或者唯一键.
语法: foreign key (字段) references 表名(字段);
通过外键约束, 确保关系的正确性.
6.check
保证列中的值符合指定的条件.
7. 综合使用
创建一个班级表和学生表
二.进阶查询
1.新增(插入查询的结果)
insert into table_name1(目标表) 字段,… (select 字段 from table_name2(查询表));
2.聚合查询
a.聚合函数
count(参数) 统计某一列的行数
sum(参数 计算某一列的和
avg(参数) 计算某一列的平均值
max(参数) 计算某一列的最大值
min(参数) 计算某一列的最小值
round(数值, n) 表示保留数值的小数点后n位
b.使用
3.分组查询
select * from 表1, 表2 group by 字段, … having (过滤条件);
having:跟在group by之后使用.
where: 在group by 之前使用
4.联合查询
a.内连接
select 表名.字段, … from 表1, 表2 …;
select 表明.字段, … from [inner] 表1 join 表2 …;
b.外连接
左连接
左表全部显示, 右表没有的内容为null
右连接
右表全部显示, 左表没有的内容为null
c.自连接
实现行与行的比较, 就是进行笛卡尔积.
select 字段, … from 表1, 表1 where …;
d.子查询
子查询也叫作嵌套查询, 就是将一条sql语句的查询结果当做另一条sql语句的查询条件.
select 字段, … from table_name where (查询语句);
例如: 查询工资大于149号员工工资的员工信息
注意:子查询查询出来的结果是临时表.
5.合并查询
select 字段, … from table_name union select 字段, … from table_name;
union: 去掉结果集中的重复行.
union all: 不去掉结果集中的重复行.
三.总结
约束: not null, unique, default, primary key, foreign key, check
进阶查询: 新增, 聚合查询(使用聚合函数), 分组查询(group by), 联合查询(多个表), 合并查询.