欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库的约束

程序员文章站 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