数据库中的约束

constraint:约束
五大约束:主键约束,外键约束,非空约束,唯一约束,检查约束

主键约束
关键字:primary key
注意:主键自带唯一和非空
含义:每个表中的数据总有唯一标识与它对应。

创建表之后添加主键:
create table stu values(id number(5),name varchar2(20))
alter table stu constraint zi primary key(id);

创建表时添加主键
create table stu values(id number(5) primary key, name varchar2(20));

外键约束
关键字:foreign key/references
含义:在字表中含有父表中的主键,则该主键对子表来说就是外键,对父表来说是主键。
添加外键:alter table stu foreign key(sal) references stu1 (‘sal’);

表名 主键 外键
emp emno deptno salon 子表
dept deptno 父表
sal salon
emp.emno= dept.deptno;
emp.salon = sal.salon;

非空约束
关键字:not null
含义:被非空修饰的字段,在添加数据时不能添加为空

唯一约束
关键字:unique
含义:被unique修饰的字段,不能重复添加相同的数据

检查约束
关键字:check
含义:被check修饰的字段,在添加数据时只有遵循check中的条件才能添加成功

关联关系
内连接
inner join on
表示将两个表之间的关联数据展示出来
例:select dept.deptno,emp.ename from emp join dept on emp.deptno = dept.deptno

外连接
左外连接
left join on
表示将两个表之间关联数据展示出来以及左表未关联的数据展示出来
例:select dept.deptno , emp.ename from emp left join dept on emp.deptno = dept.deptno

右外连接
right join on
表示将两个表之间关联数据展示出来以及右表未关联的数据展示出来
例:select dept.deptno,emp.ename from emp right join on dept on emp.deptno = dept.deptno

全外连接
full join on
表示将两张表的数据全部展示出来
例子:select dept.deptno,emp.ename from emp full join on dept on emp.deptno = dept.deptno

交叉连接
cross join
表示两个表的数据交叉展示

上一篇:flask前后台交互数据的几个思路


下一篇:MySQL优化案例