sql约束类型(sql常用约束)

http://www.itjxue.com  2023-01-25 08:11  来源:未知  点击次数: 

SQL中的几种约束的创建与删除

约束的目的就是确保表中的数据的完整性。

常用的约束类型如下:

主键约束:(Primary Key constraint) 要求主键列唯一,并且不允许为空

唯一约束:(Unique Constraint) 要求该列唯一,允许为空,但只能出现一个空值

检查约束:(Check Constraint) 某列取值范围限制、格式限制等。如有关年龄的限制

默认约束:(Default Constraint) 某列的默认值,如我们的男性学员比较多,性别默认为男

外键约束:(Foreign Key Constraint) 用于在两表之间建立关系,需要指定引用主表的哪一列

一、添加约束

在创建表时,我们可以在字段后添加各种约束,但一般不这样混用,推荐将添加约束和建表的语句分开编写。

添加约束的语法如下:

Code:

Alter Table 表名

Add Constraint 约束名 约束类型 具体的约束类型

上述语法标识修改某个表,添加某个约束,其中约束名的命名规则推荐采用"约束类型_约束字段"这样的形式。

Code:

---添加主键约束

Alter Table stuInfo

Add Constraint PK_stuNO primary Key(stuNo)

---添加唯一约束

Alter Table stuInfo

Add Constraint UQ_stuID unique(stuID)

---添加默认约束

Alter Table stuInfo

Add Constraint DF_stuAddress default('地址不详') for stuAddress

---添加检查约束

Alter Table stuInfo

Add Constraint CK_stuAge check(stuAge between 15 and 40)

---添加外键约束

Alter Table stuMarks

Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)

二、删除约束

如果错误的添加了约束,则可以删除约束

删除约束的语法如下:

Code:

Alter Table 表名

Drop Constraint 约束名

附加:在创建表的时候同时添加约束的写法:

Code:

use stuDB

go

if exists(select * from Sysobjects where name = 'stuInfo')

drop table stuInfo

go

create table stuInfo

(

stuName varchar(20) not null primary key(stuName)

,stuID int not null unique(stuID)

,stuAddress varchar(20) not null default('地址不详')

,stuAge int not null check(stuAge between 15 and 40)

)

sql server中有哪几种约束?

sql server中有约束主要是四种

1实体完整性约束

2域完整性约束(指给定列的输入有效性)

3引用完整性约束(表之间的联系)

4自定义完整性约束(根据用户的需求)

sql中表达完整性约束的机制主要有哪几种?

在SQL中,表达完整性约束的规则有主键约束、外键约束、属性值约束和全局约束等多种形式。

(1)主键约束:可用主键子句或主键短语来定义。  

 如 PRIMARY KEY (S#) (主键子句)  

S# CHAR (4) PRIMARY KEY (其中,PRIMARY KEY 为主键短语)

(2)外键约束:可用外键子句来定义

 如 FOREIGN KEY (S#) REFERNCE S(S#)

(3)属性值约束:包括非空值约束(NOT NULL);基于属性的检查子句(CHECK) ;

 域约束子句(在“CREAT DOMAIN”语句中出现CHECK子句)

如CREAT DOMAIN AGE SMALLINT CHECK (VALUE10)

(4)全局约束:包括基于元组的检查子句(CHECK)和断言

断言的句法为:CREATE ASSERTION 断言名 CHECK 条件

sql server 中有哪几种约束?

一共有五种约束:这里以学生表stuinfo为例1、添加主键约束alter table stuinfo add costraint pk_stuno primary key (stuno)2、唯一约束alter table stuinfo add constraint uq_stuid unique (stuid)3、添加默认约束alter table stuinfo add constraint df_address default ('地址不详') for address4、添加检查约束alter table stuinfo add constraint ck_age check (age between 15 and 40) 这是年龄在15到40之间5、添加外键约束alter table stumarks add constraint fk_stuno foreign key (stuno) references stuinfo (stuno)这是一个成绩表(stumarks)引用学生信息表中的列 学号

什么是SQL里面的约束条件

SQL 约束(Constraints)

SQL 约束用于规定表中的数据规则。

如果存在违反约束的数据行为,行为会被约束终止。

约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

本回答来自:SQL 约束(Constraints)_树懒学堂

SQL CREATE TABLE + CONSTRAINT 语法

(责任编辑:IT教学网)

更多

推荐网页背景文章