mysql 的完整性约束 与单表查询

Posted 茉莉花M

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 的完整性约束 与单表查询相关的知识,希望对你有一定的参考价值。

1 foreign key 外键 建立两张表的联系

1 创建表时先创建被关联的表 在创建关联表
create table dep(
   id int primary key,
   name varchar(20) not null,
  descripe varchar(20) not null);



在创建关联表(emp表)

create table emp(
  id int primary key,
 name varchar(20) not null,
 age int not null,
 dep_id int,
 cinstraint fk_dep foregin key(dep_id) references dep(id));


2 插入记录时 先往被关联表中插入记录 再往关联表中插入记录

insert into dep values
(1,‘IT‘,‘IT技术有限部门‘),
(2,‘销售部‘,‘销售部门‘),
(3,‘财务部‘,‘花钱太多部门‘);


insert into emp values
(1,‘zhangsan‘,18,1),
(2,‘lisi‘,19,1),
(3,‘egon‘,20,2);


在关联表中加入 
on delete cascade  #同步删除
on update cascade #同步更新


修改emp 表
create table emp(
id int primary key,
name varchar(20) not null,
age int not null,
dep_id int,
constraint fk_dep foregin key(dep_id) references dep(id)
on delete cascade
on update cascade);

 

以上是关于mysql 的完整性约束 与单表查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 多表where查询与单表select where in哪一个效率高

MySQL之单表查询

MySQL之单表查询

MySQL之单表查询

SQL 连接与单表:性能差异?

MySQL单表查询