陕西队西北狼

Sql Server 数据库教程四 、数据类型约束

SQL 约束 用于限制加入表的数据类型。

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

主要的约束有以下几点:

  • NOT NULL
  • UNIQUE
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK
  • DEFAULT

1>NOT NULL

SQL NOT NULL 约束用于强制列不接受 NULL 值

例如,在创建一个Person表中,设置ID_P这一列的数据不接受空值,这意味着,如果不为该字段添加值,那么将无法插入和更新该列的记录,代码如下:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

2>UNIQUE

SQL UNIQUE 约束,用于约束该唯一标识数据库表中的每条记录。

例如,在Persons 表中,规定ID_P这一列的数据为不重复的int型数据,代码如下:

CREATE TABLE Persons
(
Id_P int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

那么意味着ID_P这一列的数据不能为空值,并且都是唯一标识。

3>PRIMARY KEY  

PRIMARY KEY 约束唯一标识数据库表中的每条记录.

注意:

主键必须包含唯一的值.

主键列不能包含 NULL 值.

每个表都应该有一个主键,并且每个表只能有一个主键.

例如,在Persons表中,设置ID_P为主键,那么ID_P将作为每条记录的唯一标识,代码如下:

CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

4>FOREIGN KEY

一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。  

FOREIGN KEY 也被称之为外键,让我们用一个例子来说明主键和外键的关系。

请看两个表:

 

注意:

"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。

"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。

"Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。

FOREIGN KEY 约束用于预防破坏表之间连接的动作。

FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

示例代码:

 

CREATE TABLE Orders
(
Id_O int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
)

 

posted @ 2015-01-19 17:37  PS-Jerry  阅读(339)  评论(0编辑  收藏  举报