1.非空约束

1.1创建非空约束

通过 not null 关键字来创建非空约束

  1. [CONSTRAINT <约束名>] not null

1.2修改非空约束

1.修改tb_Student中的非空约束,让ID字段允许为 null

ALTER TABLE tb_Student
ALTER column ID int null

2.主键约束

2.1创建主键约束

使用 PRIMARY KEY 创建主键约束

1.创建表Employee,将字段ID设置为主键约束

  CREATE TABLE Employee
  (
    ID int CONSTRAINT PK_ID PRIMARY KEY,
    Name char(50),
    Sex char(2),
    Age int
  )

注意:PK_ID为用户自定义的主键约束的名称,主键约束的名称必须是合法的标识符
**

2.2在现有表中创建主键约束

关键字

ALTER TABLE table_name
ADD
CONSTRAINT constraint_name
PRIMARY KEY[CLUSERED | NONCLUSTERED]
{(column...)}
  1. CONSTRAINT:表示创建约束的关键字
  2. constraint_name:创建约束的名称
  3. PRIMARY KEY:表示创建的约束为主键约束
  4. CLUSERED | NONCLUSTERED:表示 PRIMARY KEY 或UNIQUE约束创建聚集和非聚集索引的关键字,PRIMARY KEY 约束默认创建的为 CLUSERED UNIQUE默认创建的为 NONCLUSTERED

1.将tb_Student中的ID字段设置为主键约束

ALTER TABLE tb_Student
ADD
CONSTRAINT PRM_ID PRIMARY KEY(ID)

注意:主键约束的自定义名称必须是一个数据中唯一存在的
**

2.3修改,删除主键约束

根据自定义的主键约束名称删除主键约束

1.删除tb_Student中的主键约束

ALTER TABLE tb_Student
DROP CONSTRAINT PRM_ID

3.唯一约束

唯一约束用来实施列集中值的强制唯一性,根据UNIQUE约束,表中的任何两行都不能有相同的列值,另外,主键也实施强制唯一性,但是主键不允许NULL作为一个唯一值

3.1创建唯一约束

1.在数据库中创建数据表Employee,并将字段设置为唯一约束

CREATE TABLE Employee
(
  ID int CONSTRAINT UQ_ID UNIQUE,
  Number char(20),
  Name nvarchar(20),
  Age int,
  Sex char(2)
)

3.2在现有表中创建唯一约束

1.将Employee中的Number设置为UNIQUE

ALTER TABLE Employee
ADD
CONSTRAINT UQ_NUMBER UNIQUE(Number)

3.3删除唯一性约束

1.删除Employee中Number的唯一性约束

ALTER TABLE Employee
DROP CONSTRAINT UQ_NUMBER

4.check约束

check约束可以强制域的完整性,check约束类似于FOREIGN KEY约束,可以控制放入列的值。但是,他们在确定有效值的方法上有所不同,FOREIGN KE约束是从其他表中获取到有效字段,而check约束通过不基于其他列中的数据的逻辑表达式来确定有效值

4.1创建check约束

1.创建Employee表,并将字段Sex设置约束检查,在输入性别字段时,只能接受“男”“女”,而不能接受其他数据

CREATE TABLE Employee
(
  ID int,
  Name char(20),
  Sex char(2) CONSTRAINT CK_SEX CHECK(Sex in ('男', '女')),
  Age int
)

4.2在现有表则创建check约束

1.修改Employee表,是得Sex字段只能接受 “女”,不能接受其他字段

ALTER TABLE Employee
ADD CONSTRAINT CK_SEX_1 CHECK(Sex in ('女'))

4.3删除check约束

1.删除Employee中的check约束

ALTER TABLE Employee
DROP CONSTRAINT CK_SEX_1

5.默认约束

在创建或修改表时可以通过DEFAULT 来创建默认值,默认值可以是计算结果为常量的任何值,如常量,内置函数或数学表达式,这将为每一列分配一个常量表达式作为默认值

5.1创建默认约束

1.创建Employee表,设置Sex字段的默认约束为 “女”

CREATE TABLE Employee
(
  ID int,
  Name char(20),
  Sex char(2) CONSTRAINT DEF_SEX DEFAULT '女',
  Age int
)

5.2在现有表中创建默认约束

1.再Eployee表中创建默认约束,设置Sex默认值为 “男”

ALTER TABLE Employee
ADD CONSTRAINT DEF_SEX_1 DEFAULT '男'
FOR Sex

5.3删除默认约束

1.删除Employee中的Sex字段的默认约束

ALTER TABLE Employee
DROP CONSTRAINT DEF_SEX_1

6.外键约束

6.1创建外键约束

1.创建表 Laborage 创建外键约束,该约束把 Laborage 中的编号 (ID) 字段和表 Employee 再的ID字段关联起来

CREATE TABLE Laborage
(
  ID int,
  Wage money
  CONSTRAINT FK_ID FOREIGN KEY(ID) REFERENCES Employee(ID)
)

6.2在现有表中创建外键约束

1.将 Employee 表中的 ID 字段设置为 Laborage中的外键

ALTER TABLE Laborage
ADD CONSTRAINT FK_ID FOREIGN KEY(ID) REFERENCES Employee(ID)

6.3删除外键约束

1.删除 Laborage 中的外键约束

ALTER TABLE Laborage
DROP CONSTRAINT FK_ID