MySQL中主键外键约束详解
- 行业动态
- 2024-04-22
- 1
在MySQL中,主键和外键是用于维护数据完整性和关联性的重要约束,下面将详细介绍主键和外键的概念、特点以及使用方法。
主键约束
1、概念:主键是表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行,一个表只能包含一个主键,但可以有多个候选键。
2、特点:
主键的值不能为空(NOT NULL)。
主键的值不能重复。
主键的值可以是数值类型、字符串类型或日期时间类型等。
主键可以自动递增(AUTO_INCREMENT)。
3、创建主键约束:
“`sql
CREATE TABLE 表名 (
列名1 数据类型 PRIMARY KEY,
列名2 数据类型,
…
);
“`
4、修改表结构添加主键约束:
“`sql
ALTER TABLE 表名
ADD PRIMARY KEY (列名);
“`
5、删除主键约束:
“`sql
ALTER TABLE 表名
DROP PRIMARY KEY;
“`
外键约束
1、概念:外键是一个表中的列,它引用了另一个表的主键,外键用于维护两个表之间的关联关系,确保数据的一致性和完整性。
2、特点:
外键的值必须参照另一个表的主键值,或者为空(NULL)。
如果参照的主键值不存在,插入操作会被拒绝;如果参照的主键值被删除,相关联的外键值也会被设置为空。
外键可以有级联操作(CASCADE)、置空操作(SET NULL)或拒绝操作(RESTRICT)。
3、创建外键约束:
“`sql
CREATE TABLE 表名1 (
列名1 数据类型,
…,
FOREIGN KEY (列名) REFERENCES 表名2 (主键列名) ON DELETE CASCADE ON UPDATE CASCADE
);
“`
4、修改表结构添加外键约束:
“`sql
ALTER TABLE 表名1
ADD FOREIGN KEY (列名) REFERENCES 表名2 (主键列名) ON DELETE CASCADE ON UPDATE CASCADE;
“`
5、删除外键约束:
“`sql
ALTER TABLE 表名1
DROP FOREIGN KEY (列名);
“`
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/228507.html