主键、唯一键、外键

2023-12-28 10:44:13

1.主键

主键用来区分数据,联系各个表,不能为空且在表中数据是唯一的

create table t_8(
    id int(20) primary key,	// 定义主键
    name varchar(30)
    );

?可以添加组合键(复合主键),但扩展性不行,一张表里可以有多个组合键,但是可能在非特殊的情况下实际的意义不大,添加复合主键要先把原主键删除

alter table tablename add primary key (字段,字段...);	// 添加复合主键

2.唯一键

唯一键限定范围是在一张表中,它不会用作来关联其他的数据,它也可以为空,在这张表中一定是唯一的,用来保证在这个表中这个数据不重复。

// 添加唯一键,两种方法,
create table t(
    id int primary key,
    phone varchar(20) unique	// 唯一键
    );
    
alter table tablename add unique (字段,字段...);

主键与唯一键的区别

3.外键?

外键是指引用另外一个表中的一列或多列数据,被引用的列应该具有主键约束或者唯一性约束(简单来说外键是另一个表的主键或者唯一约束)。外键可以有重复的, 可以是空值,用来建立和加强两个表数据之间的连接

主外键的关系:

左边信息表为主表,右边成绩表为从表

1.当主表中没有对应的记录时,不能将记录添加到子表(学生成绩表中不能出现学生信息表中没有的学号)

2.不能更改主表中的值而导致子表中的记录孤立(学生信息表中的id变化了,学生成绩表中的id也要随着发生改变)

3.子表存在与主表对应的记录,不能从主表中删除该行(不能把部门表中的数据删除)

4.删除主表前,先删子表

文章来源:https://blog.csdn.net/Mr_liu888/article/details/135256257
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。