MySQL学习4——外键

##把所有数据都存放于一张表的弊端
  1.组织结构不清晰
  2.浪费硬盘空间
  3.扩展性极差

## 一对多(Foreign Key)

## 注意: MySQL中表与表的关系,只有“一对多”,没有多对一;

# foreign key的用法
# 1、在创建表时,先建被关联的表dep,才能建关联表emp

# 先建立被关联表 (相当于先创建被关联的Excel表文件)
create table dep(
    id int primary key auto_increment,
    dep_name char(10),
    dep_comment char(60)
);

# 再创建关联表: 关联表中设置 “外键”
create table emp(
    id int primary key auto_increment,
    name char(16),
    gender enum('male','female') not null default 'male',
    # 定义一个被关联表的id字段
    dep_id int,
    # 再通过外键绑定到另一张表中字段
    foreign key(dep_id) references dep(id)
);

# 2、在插入记录时,必须先插入被关联的表dep,才能再插入关联表emp

# 先插入被关联表数据
insert into dep(dep_name,dep_comment) values
('教学部','辅导学生学习'),
('外交部','上海校区形象大使'),
('技术部','技术能力有限部门');

# 再插入关联表数据
insert into emp(name,gender,dep_id)  values
('a','male',1),
('b','male',2);

 

posted @ 2020-07-01 12:34  最冷不过冬夜  阅读(124)  评论(0编辑  收藏  举报