Sql Server 数据库教程四 、数据类型约束
2015-01-19 17:37
375 查看
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) )
相关文章推荐
- SQL Server 2008中的新日期数据类型-Mssql数据库教程
- Visual C# 2008+SQL Server 2005 数据库与网络开发--9.1.2 XML数据类型
- SQL Server教程:读取第三方数据库的数据
- SQL Server 2008数据库表中修改字段的数据类型后,不能保存
- SQL Server创建数据库和数据表的相关约束实现方法
- SQL SERVER 2008数据库的表中修改字段的数据类型后,不能保存
- SQL Server 2008中文版标准教程读书笔记 数据类型(复习SQL Server 二)
- 从Sql server 2000 到 Oracle 10g数据库迁移数据类型转化
- 数据库的数据类型、约束、索引、视图
- SQL SERVER 2008数据库的表中修改字段的数据类型后,不能保存
- SQL Server创建数据库和数据表的相关约束实现方法
- 在SQL Server中使用自定义数据类型来规范数据库字段变量
- SQL 读取数据库中所有数据表的所有约束类型名称和默认值
- SQL SERVER 2005练习集(修改数据库文件,修改表数据,约束,视图)
- 在SQL Server中使用自定义数据类型来规范数据库字段变量
- asp.net查询数据库时提示使用的sql server版本不支持数据类型date
- SQL 读取数据库中所有数据表的所有约束类型名称和默认值
- SQL 读取数据库中所有数据表的所有约束类型名称和默认值
- 数据库中常用数据类型的取值范围介绍(以mysql、SQL Server为准)
- 向SQL Server 2000数据库添加Image数据类型记录