MySQL数据库入门(五)

多表操作

一、外键

定义: 外键是指引用另一个表中的一列或多列,被引用的列应该是具有主键约束或唯一性约束.外键用于建立

和加强两个表数据之间的连接.

添加外键约束:

alter table 表名 add constraint PK_ID foreign key(外键字段名) references 外表表名(主键字段名)

在为表添加外键约束时,需要注意以下地方:

(1) 建立外键的表必须是InnoDB型,不能是临时表.因为在mySQL中只有InnoDB类型的表才支持外键.

(2) 定义外键名时,不能加引号,如constraint 'FK_ID'是错误的.

其他

alter table 表名 add constraint FK_ID foreign key (外键名) references 外表表名(主键字段名);

[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT }]

[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT }]

RESTRICT 是默认设置.

删除外键约束:

alter table 表名 drop foreign key 外键名;

二、操作关联表

2. 0 MySQL中的关联关系

多对一:  如员工和部门. 在多对一的表关系中,应该将外键建立在多的一方,否则会造成数据的冗余.

多对多: 如学生和课程.  需要定义一张中间表,该表会存在两个外键,分别参照课程表和学生表. 

在多对多的表关系中,连接两个表的外键都是可以重复的,但是两个外键之间的关系是不能重复的,

所以这两个外键又是连接表的联合主键.

一对一: 如人和身份证.  人为主表, 身份证为外表, 通常会直接用从表中的主键作为外键.

2.1 添加数据


猜你喜欢

转载自blog.csdn.net/tc_1337/article/details/81022502