SQL Server 的常见约束
1.主键约束------我是最常见的哦(PRIMARY KEY)
- 限制:不能为空,数据唯一,一个表中只有一个
- 方法:
- 建表时直接在列类型后面添加   如:
CREATE TABLE stuDB 
 (
 SID CHAR(12) PRIMARY KEY
 )
- 建表后通过添加语句添加
添加语句为: 
 ALTER TABLE <表名>
 ADD CONSTRAINT 自定义的约束名 约束类型 具体的约束说明 例:
 ALTER TABLE stuDB
 ADD CONSTRAINT PK_SID PRIMARY KEY
 
- 建表时直接在列类型后面添加   如:
2.外键约束------表与表之间的根深蒂固的链接者(FOREIGN KEY)
- 效果:用于两表间建立关系,需要指定引用主表的那列
- 方法: - 1.建表时直接加在类型后面 CREATE TABLE stuDB
 (
 SID CHAR(12) ,
 Sname VARCHAR(12) FOREIGN KEY REFERENCES 从表名(列名)
 ) 2.建表后在后面添加 添加语句为:
 ALTER TABLE 主表名
 ADD CONSTRAINT 自定义约束名 FOREIGN KEY(列名)REFERENCES 从表名(列名) 例:
 ALTER TABLE stuDB
 ADD CONSTRAINT DF_Sname FOREIGN KEY(Sname) REFERENCES sCore(Sname)
3.唯一约束-----这列中只有一个本宝宝(Unique Key)
- 效果:列值唯一,就算为空值,也要任性的唯一
- 方法:
1.建表时直接加在类型后面 CREATE TABLE stuDB
 (
 SID CHAR(12) ,
 Sname VARCHAR(12) ,
 StuNO VARCHAR(12) UNIQUE
 ) 2.建表后在后面添加 添加语句为:
 ALTER TABLE 主表名
 ADD CONSTRAINT 自定义约束名 UNIQUE(列名) 例:
 ALTER TABLE stuDB
 ADD CONSTRAINT DF_StuNO UNIQUE(Stu'NO)
4.默认约束------我就默默的帮你选了哦( DEFAULT)
- 效果:只是嘿嘿的帮你选了
- 用法:
1.建表时直接加在类型后面 CREATE TABLE stuDB
 (
 SID CHAR(12) ,
 Sname VARCHAR(12) ,
 StuNO VARCHAR(12),
 Ssex CHAR(2) DEFAULT '男'
 ) 2.建表后在后面添加 添加语句为:
 ALTER TABLE 主表名
 ADD CONSTRAINT 自定义约束名 DEFAULT (默认的东东) FOR 列名 例:
 ALTER TABLE stuDB
 ADD CONSTRAINT DF_Ssex DEFAULT ('男') FOR Ssex
5.检查约束------你 你 就是你 站住 让我检查通过再走(CHECK)
- 效果: 站住检查,通过后才可录入表中
- 用法:
1.建表时直接加在类型后面 CREATE TABLE stuDB
 (
 SID CHAR(12) ,
 Sname VARCHAR(12) ,
 StuNO VARCHAR(12),
 Ssex CHAR(2) ,
 Sage INT CHECK (Age >= 18 AND Age<=55)
 ) 2.建表后在后面添加 添加语句为:
 ALTER TABLE 主表名
 ADD CONSTRAINT 自定义约束名 CHECK(条件) 例:
 ALTER TABLE stuDB
 ADD CONSTRAINT DF_ Sage CHECK (Age >= 18 AND Age<=55)
6.其他约束
- 自动增长的约束  
-   限制:必须在类型是 INT,SMALLINTt等时才可使用
语法: 
 列名 类型 IDENTITY(开始数字,每次加上的数字) 例如:
 stuSeat SMALLINT IDENTITY (1,1)
 
-   限制:必须在类型是 INT,SMALLINTt等时才可使用
-  限制位数
语法: 列名 NUMERIC(数字位数,小数点位数) 例如: stuID NUMERIC(18,0),
SQL Server 的常见约束的更多相关文章
- SQL Server缺省约束、列约束和表约束
		SQL Server缺省约束是SQL Server数据库中的一种约束,下面就为您介绍SQL Server缺省约束.列约束和表约束的定义方法啊,供您参考. SQL Server缺省约束 SQL Serv ... 
- SQL Server 2008 常见异常收集(持续更新)
		写在前面: 最近,在使用SQL Server 2008时,出现了不少问题.发现,很多问题都是以前碰见过的,并且当时也寻找到了解决方法(绝大部分来源于“百度”与“Google”),只是时间一长,又忘记了 ... 
- SQL Server 创建唯一约束sql语句
		SQL Server 创建唯一约束sql语句 语句示例: 在创建表是时同时创建, 创建id,name,sex三个字段的唯一索引 create table t1( id int primary ... 
- 详解如何定义SQL Server外关键字约束
		SQL Server外关键字约束定义了表之间的关系.当一个表中的一个列或多个列的组合和其它表中的主关键字定义相同时,就可以将这些列或列的组合定义为外关键字,并设定它适合哪个表中哪些列相关联.这样,当在 ... 
- SQL Server 2005中约束
		在SQL Server 2005中有6种约束:主键约束(primary key constraint).惟一性约束(unique constraint).检查约束(check constraint). ... 
- Sql Server数据库之约束
		一.约束的分类 实体约束:关于行的约束,比如某一行出现的值就不允许别的行出现,如主键 域约束:关于列的约束,对表中所有行的某些列进行约束,如check约束 参照完整性约束:如果某列的值必须与其他列的值 ... 
- SQL Server中有关约束(constraint)的一些细节
		本文出处:http://www.cnblogs.com/wy123/p/7350265.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ... 
- SQL Server 外键约束的例子
		外键约束的测试表与测试数据 -- 创建测试主表. ID 是主键. CREATE TABLE test_main ( id INT, value ), PRIMARY KEY(id) ); -- 创建测 ... 
- SQL SERVER 主键约束
		主键约束: 遵循关系型模型中的第二范式.唯一的识别一条记录,不能为空. CREATE TABLE Persons ( Id_P int NOT NULL PRIMARY KEY, LastName v ... 
随机推荐
- JAVA提高四:反射基本应用
			在前面一节<http://www.cnblogs.com/pony1223/p/7659210.html>,我们学习了JAVA的反射的相关知识,那么本节我们对前面所学习的知识做一个应用相关 ... 
- vDSP加速的应用
			vDSP 是IOS提供一系列加速处理算法..在优化时可以考虑应用一二... 1.在项目中加入Accelerate.framework库 点开项目属性->Build Phases->Link ... 
- win10 uwp 通知Toast
			win10通知使用Toast 可以使用win10 模板添加通知 var t = Windows.UI.Notifications.ToastTemplateType.ToastText02; 使用Ge ... 
- STM32外部中断线编程
			#include "ExtiConfig.h" unsigned char key1Down = 0; unsigned char key2Down = 0; /********* ... 
- gcd,最大公约数,lcm,最小公倍数
			int gcd(int a,int b){ ?a:gcd(b,a%b); } 关于lcm,若写成a*b/gcd(a,b) ,a*b可能会溢出! int lcm(int a,int b){ return ... 
- [ACdream]瑶瑶带你玩激光坦克
			题目链接:http://acdream.info/contest?cid=1269#problem-B Problem Description 有一款名为激光坦克的游戏,游戏规则是用一个坦克发出激光来 ... 
- label联动checkbox
			label联动checkbox时,若label包含在checkbox外层时label不需for属性,设置label的display属性为block时可以使整个div联动. 
- js代码执行顺序问题
			前 言 LiuDaP 今天就给大家介绍一个特别基础的东西,javascript中函数的一点儿小知识(js代码的执行顺序),希望对大家有那么一点点帮助吧!!! 一.js--->单线程 严格意 ... 
- eclipse项目中引入shiro-freemarker-tags会jar包冲突
			maven项目中引入了这个依赖. <dependency> <groupId>net.mingsoft</groupId> <artifactId>sh ... 
- makefile学习笔记(一)
			1.1:make概述 在linux环境下使用make工具能够比较容易的构建一个属于自己的工程,整个工程的编译只需要一个命令就可以完成编译.连接以至于最后的执行.不过我们需要投入一些时间去学习如何完成m ... 
