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 ...
随机推荐
- 标准输入输出 stdio 流缓冲
**From : http://www.pixelbeat.org/programming/stdio_buffering/** 我发现找出标准流用的是什么缓冲是一件困难的事. 例如下面这个使用uni ...
- 压缩感知“Hello World”代码初步学习
压缩感知代码初学 实现:1-D信号压缩传感的实现 算法:正交匹配追踪法OMP(Orthogonal Matching Pursuit) >几个初学问题 1. 原始信号f是什么?我采集的是 ...
- Nginx配置文件中文详解
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...
- 真正从0开始用Unity3D制作类战地2玩法的类龙之谷、王者荣耀的手游(暨全平台游戏)
如题,(从2017年10月18日开始)正在利用业余时间研发一款神泣Shaiya2手游,引擎用Unity3D. 原因主要有2点: 对神泣太多感情,希望能做点什么来纪念乃至留下神泣这款网游: 时机已到,是 ...
- 小星星的php
大家好,我是小星星,最近新学的php,我迫不及待要跟大家分享了!!come on!一起来看小星星的世界 先为大家介绍php基础 首先我们来看看什么叫php: PHP(外文名:PHP: Hypertex ...
- Vue.js2.0中的变化(持续更新中)
最近自己在学习Vue.js,在看一些课程的时候可能Vue更新太块了导致课程所讲知识和现在Vue的版本不符,从而报错,我会在以后的帖子持续更新Vue的变化与更新,大家也可以一起交流,共同监督学习! 1. ...
- ALV添加文字输入框
一.业务场景 在合同打印中,需要临时添加其他约定事项,在打印程序的ALV中添加其他事项字段,点击之后弹出文字输入窗口,点击确定,文字内容存表,并在ALV中展示,点击打印后,文字内容加载到smartfo ...
- 关于echarts、layer.js和jqGrid的知识点
使用echarts和layer.js直接去官方文档,能解决大部分问题. 但是有些问题,解释不够清楚,在这里记录一下. 1.echarts的使用 第一点:关于echarts的labelline在数据为零 ...
- Java运行时内存划分与垃圾回收--以及类加载机制基础
----JVM运行时内存划分----不同的区域存储的内容不同,职责因为不同1.方法区:被线程共享,存储被JVM加载的类的信息,常量,静态变量等2.运行时常量池:属于方法区的一部分,存放编译时期产生的字 ...
- C++const使用(06)
可以在类中使用const关键字定义数据成员和成员函数或修饰一个对象.一个const对象只能访问const成员函数,否则将产生编译错误. 常量成员 常量成员包括常量数据成员.静态常数据成员和常引用.静态 ...