mysql设计表的外键_MySQL: 4、多表、外键、数据库设计

本文详细介绍了MySQL中关于外键的概念和使用,包括主键和外键的区别,外键约束的创建、删除,以及级联删除操作。此外,还讲解了多表关系设计,如一对一、一对多、多对多关系的实现。最后,探讨了数据库的多表查询,如内连接、外连接和子查询,并简单提到了数据库设计的范式和反范式化思想。
摘要由CSDN通过智能技术生成

一、多表

1、主键:

用来唯一标识一条记录,不能有重复的,不允许为空,用来保证数据的完整性,并且主键只能有一个

2、外键:

表的外键是另一个表的主键,外键可以重复,可以 为空,但是为空数据就跟与之相关联的表没关系了

外键主要使用来和其他表建立联系用的,其他表就叫做主表。一个表可以多有个外键

3、 从表:

外键所在的表就叫做从表,也就是被约束的表

4、 主表:

主键id所在的表就叫做主表,也就是约束别的表

5、 外键约束:

1)外键约束主要是让两张表之间产生一个对应的关系,从而保证主从表引用的完整性

2)创建外键约束:

1) 新建表时添加外键

CREATE TABLE employee(

eid INT PRIMARY KEY AUTO_INCREMENT,

ename VARCHAR(20),

age INT,

dept_id INT,

-- 添加外键约束

CONSTRAINT emp_dept_fk FOREIGN KEY(dept_id) REFERENCES department(id)

);

[CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名)

2) 已有表添加外键

ALTER TABLE 从表 ADD [CONSTRAINT] [外键约束名称] FOREIGN KEY (外键字段名) REFERENCES 主表(主键字段名);

3)删除外键约束:

ALTER TABLE 从表 DROP FOREIGN KEY 外键约束名称;

ps:如果不知道约束名可以通过:  show create table 表名; 来查看外键名

4)删除外键约束的注意事项

1) 从表外键类型必须与主表主键类型一致 否则创建失败.

2) 添加数据时, 应该先添加主表中的数据.

3) 删除数据时,应该先删除从表中的数据.

6、级联删除操作: 在删除主表数据的同时也需要删除从表的数据的话,就可以使用级联删除操作

1) 级联删除: ON DELETE CASCADE

2) 案例:创建表时添加级联删除

CRE

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值