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 ...
随机推荐
- Win10打补丁KB4022725出现0x80073712错误
周末从老家回来折腾电脑,发现又收到了一大堆补丁,其中包括6月累积更新KB4022725.在安装过程中,一不小心手滑碰到了插线板,电脑断电了!!尼玛,这是要悲催的节奏么? 重新上完电开机,开机界面显示正 ...
- 自己动手实现网络服务器(Web Server)——基于C#
前言 最近在学习网络原理,突然萌发出自己实现一个网络服务器的想法,并且由于第三代小白机器人的开发需要,我把之前使用python.PHP写的那部分代码都迁移到了C#(别问我为什么这么喜欢C#),之前使用 ...
- Activiti 用户任务关联自定义表单
问题阐述 通常每一个"用户任务"都会对应一个表单,以供用户录入信息.尤其是在"流程定义"拥有多个版本的情形下,明确的指定表单显得极其重要. 一份新版本的&quo ...
- 张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器
BH1750FVI 是一款 IIC 接口的数字型光强度传感器集成电路.下面介绍一下其在 Windows 10 IoT Core 环境下的用法. 项目运行在 Raspberry Pi 2/3 上,使用 ...
- Vector容器构造函数
No1 vector(); No2 vector( const vector& c ); No3 explicit vector( size_type num, const TYPE& ...
- Python Nose框架编写测试用例方法
1. 关于Nose nose项目是于2005年发布的,也就是 py.test改名后的一年.它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装 ...
- JS中处理单个反斜杠(即转义字符的处理)
问题来源:在表单的<input>标签中对输入的字符串进行大写转换.一不小心输入了反斜杠 \ 如下图所示: 输入 chn\ 的时候,在 IE8 下弹出一个js错误.(在实际的项目的表单 ...
- 求最小生成树——Kruskal算法
给定一个带权值的无向图,要求权值之和最小的生成树,常用的算法有Kruskal算法和Prim算法.这篇文章先介绍Kruskal算法. Kruskal算法的基本思想:先将所有边按权值从小到大排序,然后按顺 ...
- Handler学习
刚开始学习Android的时候,知道异步线程无法更新UI,于是然后找了个东西把更新的动作抛给UI线程,这个东西就是Handler. 一开始就只会在主线程也就是UI线程new一个Handler,之后在各 ...
- 使用sklearn进行数据挖掘-房价预测(4)—数据预处理
在使用机器算法之前,我们先把数据做下预处理,先把特征和标签拆分出来 housing = strat_train_set.drop("median_house_value",axis ...