1. 约束的概念
对表中的数据进行限定,保证数据的正确性、有效性和完整性。
2. 约束的分类
- 主键约束:primary key
- 非空约束:not null
- 唯一约束:unique
- 外键约束:foreign key
3. 非空约束
-
非空约束的作用
添加非空约束列的值不能为 null
-
创建表时,添加非空约束
CREATE TABLE stu( id INT, name VARCHAR(20) NOT NULL );
-
创建表后,添加非空约束
ALTER TABLE stu MODIFY name VARCHAR(20) NOT NULL;
-
删除非空约束
ALTER TABLE stu MODIFY name VARCHAR(20);
4. 唯一约束
-
非空约束的作用
添加唯一约束列的值不能为重复
-
创建表时,添加唯一约束
CREATE TABLE stu( id INT, phone_number VARCHAR(20) UNIQUE );
-
创建表后,添加唯一约束
ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;
-
删除唯一约束
ALTER TABLE stu DROP INDEX phone_number;
5. 主键约束
-
主键约束的作用
主键约束是表中记录的唯一标识,添加主键约束列的值唯一且非空。
注意:一个表中主键只能有一个
-
创建表时,添加主键约束
create table stu( id INT primary key, name VARCHAR(20) );
-
创建表后,添加主键约束
ALTER TABLE stu MODIFY id INT PRIMARY KEY;
-
删除主键约束
ALTER TABLE stu DROP PRIMARY KEY;
-
自动增长
-
自动增长的作用:如果某一列是数值类型的,使用自动增长可以来使值自动增长。
-
创建表时,添加主键约束,并设置为自动增长
create table stu( id INT primary key AUTO_INCREMENT, name VARCHAR(20) );
-
创建表后,添加主键约束,并设置为自动增长
ALTER TABLE stu MODIFY id INT primary key AUTO_INCREMENT;
-
删除自动增长
ALTER TABLE stu MODIFY id INT;
-
6. 外键约束
-
外键约束的作用
让表于表产生关联,从而保证数据的正确性。
注意:一个表中外键可以有多个
-
创建表时,添加外键约束
CREATE TABLE 表名( .... CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 主表名(主表列名); );
-
创建表后,添加外键约束
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 主表名(主表列名);
-
删除外键约束
ALTER TABLE 表名 DROP FOREIGN KEY 外键名;
-
级联操作
-
级联操作的作用
当主表更改时,从表跟从更改。
-
添加级联操作
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 主表名(主表列名) ON 级联操作 CASCADE;
-
级联操作分类
-- 级联更新 ON UPDATE CASCADE -- 级联删除(谨慎使用!主表删除记录后,从表也会删除关联的记录) ON DELETE CASCADE
-