数据库的约束
程序员文章站
2022-06-04 10:46:35
...
概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性
分类
1、主键约束:primary key
2、非空约束:not null
3、唯一约束:unique
4、外键约束:foreign key
非空约束
1、创建表时添加约束
CREATE TABLE stu1 (
id INT ,
NAME VARCHAR(50) NOT NULL
);
2、-- 创建表之后添加
ALTER TABLE stu1 MODIFY NAME VARCHAR(20) NOT NULL
唯一约束
在创建表时进行约束
CREATE TABLE stu1(
id INT UNIQUE,-- 添加唯一约束
NAME VARCHAR(20)
)
唯一约束可以是空值,都是空值,不会报错,null是不确定
mysql 中唯一约束限定的值可以是多个null
删除唯一 约束
ALTER TABLE stu1 DROP INDEX id;
主键约束
1、含义:非空且唯一
2、一张表只能有一个字段为主键
3、主键是表中记录的唯一标识
创建表时,添加主键约束
create table stu1 (
id int primary key,
name varchar(20)
)
删除主键:
ALTER TABLE stu1 DROP PRIMARY KEY;
创建表之后添加主键
alter table stu1 modify id int primary key
主键自动增长:
如果某一列是数值类型的,使用auto_increment 可以完成值的自动增长
-- 在创建表时添加主键约束,并且完成主键自动增长
create table stu1 (
id int primary key auto_increment, -- 给id 添加主键约束 并让其自动增长
name varchar(20)
)
数据自动增长只与上一条数据的值有关,在其基础上加一
删除自动增长
alter table stu1 modify id int;
添加自动增长
alter table stu1 modify id int auto_increment ;
外键约束
1、在创建表时,可以添加外键
语法:
create table 表名(
…… -- 一些常规的列
constraint 外键名称 foreign key (外键列的名称) references 主表名称(主表列名称)
);
2、删除外键
alter table 表名 drop foreign key 外键名称;
3、创建表后,添加外键
alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称)
4、级联操作
1、添加级联操作
语法:
alter table 表名 add constraint 外键名称
foreign key (外键字段名称) references 主表名称(主表列名称) on update cascade on delete cascade;
分类:
级联更新:on update cascade
级联删除:on delete cascade
下一篇: PHP insert语法详解