##约束
*概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。
*分类:
1.主键约束:primary key
2.非空约束:not null
3.唯一约束:unique
4.外键约束:foreign key
**非空约束:not null,值不能为null
1.创建表时添加约束
CREATE TABLE stu(
id INT,
NAME VARCHAR(20) NOT NULL -- name为非空
);
2.创建表完后,添加非空约束
ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
3.删除name的非空约束
ALTER TABLE stu MODIFY NAME VARCHAR(25);
**唯一约束:unique,值不能重复
1.创建表时添加唯一约束
CREATE TABLE stu(
id INT,
phone_nume VARCHAR(20) UNIQUE -- 添加了唯一的约束
);
*注意mysql中,唯一约束限定的列的值可以有多个null
2.删除唯一约束
-- alter table stu modify phone_nume varchar(20); -- 删不掉
ALTER TABLE stu DROP INDEX phone_nume;
3.在创建表后,添加唯一约束
ALTER TABLE stu MODIFY phone_nume VARCHAR(20) UNIQUE;
**主键约束:primary key
1.注意:
*含义:非空且唯一
*一张表只能有一个字段为主键
*主键就是表中记录的唯一标识
2.在创建表时,添加主键约束
CREATE TABLE stu (
id INT PRIMARY KEY, -- 给id添加主键约束
NAME VARCHAR(20)
);
3.删除主键
-- alter table stu modify id int; -- 错误
ALTER TABLE stu DROP PRIMARY KEY;
4.创建完表后,添加主键
ALTER TABLE stu MODIFY id INT PRIMARY KEY;
5.自动增长:
1.概念:如果某一列时数值类型的,使用auto_increment可以来完成值的自动增长
2.在创建表时,添加主键约束,并且完成主键自动增长
CREATE TABLE stu(
id INT PRIMARY KEY AUTO_INCREMENT, -- 给id添加主键约束 并完成主键自动增长
NAME VARCHAR(20)
);
3.删除自动增长
ALTER TABLE stu MODIFY id INT;
4.添加自动增长
ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;
**外键约束:foreign key,让表与表产生关系,从而保证数据的正确性。
1.在创建表时,可以添加外键
*语法:
create table 表名(
...
外键列
constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)
);
2.删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;
3.创建表之后,添加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键列名称) REFERENCES 主表名称(主表列名称);
4.级联操作
*添加级联操作
**语法:
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键列名称) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE ON DELETE CASCADE;
*分类:
**级联更新:ON UPDATE CASCADE
**级联删除:ON DELETE CASCADE
MySQL:约束
最新推荐文章于 2025-12-18 19:34:09 发布
本文详细介绍了数据库中的四种主要约束类型:主键约束、非空约束、唯一约束和外键约束,包括它们的定义、创建、修改和删除方法。主键确保数据的唯一性,非空约束保证字段不为空,唯一约束防止值的重复,而外键则用于建立表间的关系,确保数据的完整性。同时,文中还提到了自动增长特性的使用及其管理。
1255

被折叠的 条评论
为什么被折叠?



