首页 技术 正文
技术 2022年11月19日
0 收藏 865 点赞 2,996 浏览 1497 个字

上一节讲的是直接在创建表的时候添加条件约束,但是有时候是在表格创建完毕之后,再添加条件约束的,那么这个又该如何实现?

其实,跟上一节所写的SQL代码,很多是相同的,只是使用了修改表的ALTER关键字及添加约束的ADD CONSTRAINT关键字而已,其他大同小异。

代码如下:

USE PersonInfo  --使用PersonInfo数据库
GOIF EXISTS (SELECT * FROM sys.tables WHERE [name] = 'Employee ') --如果存在Employee这张表
DROP TABLE Employee --则删除
GOIF EXISTS(SELECT * FROM sys.tables WHERE [name] = 'Person') --如果存在Person这张表
DROP TABLE Person --则删除
GOCREATE TABLE Person --创建Person(人物)表
(
--索引
PersonID int IDENTITY(1,1) NOT NULL,-- 创建一个整型、自增为1、标识种子为1、不允许为空的列PersonID
--名字
Name nvarchar(20) NOT NULL, --创建一个Unicode非固定长度(最多存储20个Unicode字符)的列Name
--年龄
Age int NOT NULL ,--创建一个整型的列Age
--性别
Gender bit NOT NULL, --创建一个类型为bit的列Gender
--身份信息
[Identity] nchar(18) NOT NULL--创建一个非Unicode非固定长度(最多存储18个非Unicode字符)的列Identity
)ALTER TABLE Person
ADD CONSTRAINT PK_PersonID PRIMARY KEY(PersonID), --为PersonID创建主键约束
CONSTRAINT CK_Age CHECK(Age >=18 AND Age <=55),--为Age创建检查约束
CONSTRAINT DF_Gender DEFAULT(1) FOR Gender,--为Gender创建默认约束
CONSTRAINT CK_Identity CHECK (LEN([Identity])=18),--为Identity创建检查约束
CONSTRAINT UQ_Identity UNIQUE([Identity]) --为Identity创建唯一约束
GO CREATE TABLE Employee --创建Employee(雇员)表
(
--索引
EmployeeID int IDENTITY(1,1001) NOT NULL, -- 创建一个整型、自增为1、标识种子为1001、不允许为空的列EmployeeID
--人物索引
PersonID int NOT NULL ,
--职位
Post nvarchar(20) NOT NULL,--创建一个Unicode非固定长度(最多存储20个Unicode字符)的列Post
--入职时间
EntryTime datetime --创建一个类型为datetime的列EntryTime
)
GOALTER TABLE Employee
ADD CONSTRAINT PK_EmployeeID PRIMARY KEY(EmployeeID),--为EmlpoyeeID创建主键约束
CONSTRAINT FK_PersonID FOREIGN KEY(PersonID) REFERENCES Person(PersonID),--为PersonID创建外键约束
CONSTRAINT DF_EntryTime DEFAULT getdate() FOR EntryTime--为EmlpoyeeID创建默认约束
GO

结果:

2 – SQL Server 2008 之 使用SQL语句为现有表添加约束条件

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,997
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,355
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,138
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848