1 - SQL Server 2008 之 使用SQL语句创建具有约束条件的表
Posted 你若安好,便是晴天!  
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1 - SQL Server 2008 之 使用SQL语句创建具有约束条件的表相关的知识,希望对你有一定的参考价值。
约束条件分为以下几种:
1)非空约束,使用NOT NULL关键字;
2)默认值约束,使用DEFAULT关键字;
3)检查约束,使用CHECK关键字;
4)唯一约束,使用UNIQUE关键字;
5)主键约束,使用PRIMARY KEY关键字;
6)外键约束,使用FOREIGN KEY关键字。
约束是确保数据的完整性,从而阻止不希望插入的数据被录入。
以下使用一段SQL代码进行演示:
USE PersonInfo --使用PersonInfo数据库 GO IF EXISTS (SELECT * FROM sys.tables WHERE [name] = \'Employee \') --如果存在Employee这张表 DROP TABLE Employee --则删除 GO IF EXISTS(SELECT * FROM sys.tables WHERE [name] = \'Person\') --如果存在Person这张表 DROP TABLE Person --则删除 GO CREATE TABLE Person --创建Person(人物)表 ( --索引 PersonID int IDENTITY(1,1) NOT NULL CONSTRAINT PK_PersonID PRIMARY KEY,-- 创建一个整型、自增为1、标识种子为1、不允许为空、约束条件为主键约束的列PersonID --名字 Name nvarchar(20) NOT NULL, --创建一个Unicode非固定长度(最多存储20个Unicode字符)的列Name --年龄 Age int NOT NULL CONSTRAINT CK_Age CHECK (Age >= 18 AND Age<=55) ,--创建一个整型、约束条件为检查约束的列Age --性别 Gender bit NOT NULL CONSTRAINT DF_Gender DEFAULT(1) , --创建一个类型为bit、默认值为1(True)的列Gender --身份信息 [Identity] nchar(18) NOT NULL CONSTRAINT CK_Identity CHECK(LEN([Identity])=18) CONSTRAINT UQ_Identity UNIQUE --创建一个非Unicode非固定长度(最多存储18个非Unicode字符)的、约束条件为检查约束的列Identity ) GO CREATE TABLE Employee --创建Employee(雇员)表 ( --索引 EmployeeID int IDENTITY(1,1001) NOT NULL CONSTRAINT PK_ID PRIMARY KEY, -- 创建一个整型、自增为1、标识种子为1001、不允许为空、约束条件为主键约束的列EmployeeID --人物索引 PersonID int NOT NULL CONSTRAINT FK_PersonID FOREIGN KEY REFERENCES Person(PersonID), --职位 Post nvarchar(20) NOT NULL,--创建一个Unicode非固定长度(最多存储20个Unicode字符)的列Post --入职时间 EntryTime datetime CONSTRAINT DF_EntryTime DEFAULT getdate() --创建一个类型为datetime、默认值为取服务器时间的列EntryTime ) GO
结果:
以上是关于1 - SQL Server 2008 之 使用SQL语句创建具有约束条件的表的主要内容,如果未能解决你的问题,请参考以下文章
3 - SQL Server 2008 之 使用SQL语句删除约束条件