SQL完整性约束

来源:互联网 发布:touch bar 知乎 编辑:程序博客网 时间:2024/05/22 20:36

完整性约束用于确定关系型数据库中数据的准确性和唯一性,在关系型数据库中,数据的完整性是通过引用完整性的概念实现的,而引用完整性具有如下的类型。

一.主键约束

主键约束是数据表一个或多个用以实现记录唯一性的字段,虽然使用中通常由一个字段标识,但是也可以使用多个字段组成(联合主键)。
主键的作用在于表中的每条记录都具有一个唯一的值,如一个人的身份证号,具有唯一性。用于作为某人的识别标志。

创建主键的三种方式:

create table TEST_TBL (-- 主键(主键约束) primary key 唯一的约束该字段里面的数据,不能重复,不可为空id int primary key  );
create table TEST_TBL (-- 主键(主键约束) primary key 唯一的约束该字段里面的数据,不能重复,不可为空-- 可用于创建联合主键 primary key(参数列表,参数用","隔开)id int not null,primary key (id));
-- 追加主键--  alter table 表名 add primary key(字段列表,可用于创建联合主键)alter table TEST_TBL add primary key (id);

二.唯一性约束

唯一性约束要求表中某字段在每条记录中为唯一的,与主键类似,当我们对一个一个字段设置了主键约束后依旧可以对另一个字段设置唯一性约束。

CREATE TABLE TEST_TBL (id INT  PRIMARY KEY,NAME VARCHAR(10) NOT NULL UNIQUE  );

三.外键约束

外键是字表中的一个字段引用父表的主键,是确保表与表之间引用完整性的主要机制。用于一张表与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

创建外键的方式:

-- 追加外键 -- alter table 表名 add [constraint 外键名字] foreign key (外键字段) references 父表(主键字段);ALTER TABLE t1 ADD CONSTRAINT k_1 FOREIGN KEY (uid)REFERENCES test(id);ALTER TABLE t1 ADD FOREIGN KEY (uid)REFERENCES test(id);
create table t1(id INT  PRIMARY KEY,uid int -- foreign key:外面的键,键不在自己表中。如果一张表中有一个字段指向另外一张表的主键,那么该字段称之为外键-- foreign key(外键字段) references 外部表(主键字段) foreign key (uid) references user(id) );

四.非空约束

NOT NULL,他不允许修饰的字段存在NULL值,也就是字段内必须有值

create table t1(id INT  NOT NULL );

五.检查约束

检查约束(CHK)用于检查输入到特定字段的数据有效性。 用于限制列中的值的范围。如果对单个列定义 CHECK 约束,那么该列只允许特定的值。如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
下面的SQL在”t1”表创建时为”Id”列创建检查约束。约束 “Id” 列必须只包含大于 0 的整数

CREATE TABLE t1(Id int NOT NULL,CHECK (Id>0))
原创粉丝点击