一、外键约束
1.外键:
用来让两张表建立联系,保证数据的完整性和统一性,具有外键的表称为子表(从表)。
2.建立外键关联:
添加外键语法:
1、建表时 建立外键关联:(中括号的内容可以省略)
CREATE TABLE 表名(
id int primary key not null,
book_id int,
.....
user_id int,[constraint] [外键的名称(自己定义)]
foreign key (子表要关联的字段) reference 父表(父表要关联的字段)
);
2、 直接建立
alter table 表名 add constraint 外键名称
foreign key(外键字段名) reference 主表(主表字段名)
3、删除外键
alter table drop foreign key 外键的名称;
4、删除更新行为
二、主键
1、主键(PRIMARY KEY),也称“主键约束”。
MySQL主键约束是一个列或者多个列的组合,其值能唯一地标识表中的每一行。
这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。
主键主要是用于其他表的外键关联,以及本记录的修改与删除。
2、mysql 主键的作用
1、主要的作用是确定该数据的唯一性。
2、当ID设置为了主键,再插入一个相同的主键值,就为报错误,并不会更新,你想要个更新就必须执行UPDATE。
①PRIMAPY就是主键的意思,表示定义的该列值在表中是唯一的意思,不可以有重复。
②AUTO_INCREMENT可以理解为自动递增的意思,每增加一条记录,值会自动加1。
三、主键和外键的区别
MySQL中的主键和外键是关系型数据库中的两个重要概念,它们有以下区别:
1. 主键(Primary Key):
- 主键是用于唯一标识表中每一行数据的字段或字段组合。
- 主键必须是唯一且非空的,每个表只能有一个主键。
- 主键可以由一个或多个字段组成,这种情况下称为复合主键。
- 主键的作用是保证数据的完整性和唯一性,可以用来快速查找和连接表。
2. 外键(Foreign Key):
- 外键是用于建立表与表之间关系的字段。
- 外键是指向其他表的主键的字段,用于建立表与表之间的关联。
- 外键可以在一个表中引用另一个表的主键,从而实现表与表之间的关系。
- 外键可以保证数据的一致性和完整性,可以用来实现数据的引用完整性约束。
总结一下,主键用于唯一标识表中的每一行数据,而外键用于建立表与表之间的关系。主键保证数据的唯一性和完整性,外键保证数据的引用完整性。它们在数据库设计和查询中起着重要的作用。