06Microsoft SQL Server 完整性约束
Microsoft SQL Server 完整性约束
标识 IDENTITY自动编号
CREATE TABLE table_name( id ,), NAME ) not null, sex ) default '男', note ntext null )
主键约束 PRIMARY KEY
在表中定义一个主键来唯一确定表中一行数据的标识符,主键列的数据类型不限,但列必须唯一并且非空。一个表只允许一个主键,主键可以是单个字段或多个字段的组合。
create table tb( --单列主键的创建 id int primary key ) go create table tb1( id int, name ), --多列组合的主键 CONSTRAINT tb1_id_name_pk PRIMARY KEY(id,name) ) Go --为表添加主键 alter table table_name add constraint pk_name primary key(column_name) --删除主键 alter table table_name drop constraint pk_name
唯一性约束 UNIQUE防止非主键重复
CREATE TABLE Persons( Id_P int NOT NULL UNIQUE, LastName ) NOT NULL, FirstName ), Address ), City ) ) --多字段 CREATE TABLE Persons( Id_P int NOT NULL, LastName ) NOT NULL, FirstName ), Address ), City ), CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName) ) --添加 ALTER TABLE Persons ADD UNIQUE (Id_P) --添加 ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName) --删除 ALTER TABLE Persons DROP CONSTRAINT uc_PersonID
默认值约束 DEFAULT
CREATE TABLE table_name( id ,), NAME ) not null, sex ) default '男', note ntext null ) 指定列的默认值 --创建一个默认值对象 create default sdept_char as '信息中心' go --为表sdept列绑定默认值 sp_bindefault sdept_char,'student.sdept' --测试绑定的默认值 ','类鳄梨','男') ' --取消默认值绑定 sp_unbindefault 'student.sdept' --测试取消是否成功 ','雷海鸣','男') select * from student --删除默认值对像 drop default sdept_char
检查约束 CHECK
指定列的允许值,指定根据同一个表中其他列的值可在列中接受的数据值
--为表年龄字段添加约束 alter table student ) --测试约束 --删除表年龄字段约束 alter table student drop constraint ck_sage --测试
非空约束NOT NULL
指定是否允许为NULL字符 CREATE TABLE table_name( id ,), NAME ) not null, sex ) default '男', note ntext null )
规则 RULE
--创建规则对象 create rule format as @联系电话 like '[0][1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' --修改表添加列 alter table student ) --为列绑定规则 sp_bindrule format,'student.telephone' --测试绑定规则 ' ' select * from student --解除绑定规则 sp_unbindrule 'student.telephone' --测试解除 ' select * from student --删除规则对象 drop rule format
外键约束 FOREIGN KEY
指定必须存在值得列,定义值与同一个表或另一个表的主键值匹配的一列或多列组合
--创建表时添加外键 create table table_name( id int primary key, id1 int foreign key ) --已有表添加约束 alter table table_name add constraint fk_name foreign key(columne_name) --删除外键 alter table table_name drop constraint fk_name
06Microsoft SQL Server 完整性约束的更多相关文章
- sql server 2008 数据库的完整性约束
一.数据库完整性概述 1.数据库的完整性: ①数据库的完整性是指数据的正确性和相容性 ②数据库完整性是防止不合语义或不正确的数据进入数据库 ③完整性体现了是否真实地反映现实世界 例: 学 ...
- SQL Server 表的管理_关于完整性约束的详解(案例代码)
SQL Server 表的管理之_关于完整性约束的详解 一.概述: ●约束是SQL Server提供的自动保持数据库完整性的一种方法, 它通过限制字段中数据.记录中数据和表之间的数据来保证数据的完整性 ...
- SQL Server 导入excel时“该值违反了该列的完整性约束”错误
SQL Server 导入excel时“该值违反了该列的完整性约束”错误 这个问题看似高大上,仔细分析了一下,ID列怎么会有重复呢? 原来是有很多空行呀!!! 所以导入excel时一定要注意空行的问题 ...
- SQL Server 进阶 01 数据库的设计
SQL Server 进阶 01 数据库的设计 本篇目录 课程内容回顾及介绍 为什么需要规范的数据库设计 设计数据库的步骤 绘制E-R(实体-关系)图 实体-关系模型 如何将E-R图转换为表 数据规范 ...
- SQL Server数据库设计规范
数据库设计规范 1.简介 数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其他应用系统,使之能有效地存储数据,满足各种用户的需求.数据库设计过程中命名规范很是重要,命名规范合理的 ...
- 数据库(SQL Server)管理数据库表~新奇之处
说到“数据库”,我总有一种莫名的感觉,在刚刚接触到的数据库中就让我似懂非懂渡过着,于是思考着.于是在冷静的时空中让我回想到了很多的知识,不知你们是怎样过来的,真心希望我的这篇数据库总结能够让我们都有一 ...
- SQL Server 触发器
触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删 ...
- SQL Server 数据库设计规范
数据库设计规范 1.简介 数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其他应用系统,使之能有效地存储数据,满足各种用户的需求.数据库设计过程中命名规范很是重要,命名规范合理的 ...
- SQL Server:触发器详解
1. 概述 触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活. 所以触发器可以用来实现对表实施复杂的完整性约束. 2. 触发器的分类 SQL S ...
随机推荐
- 2016/1/6 输出菱形 while语句计算阶乘分数之和
public class LingXing { public static void main(String[] args) { //打印菱形 for (int x=1;x<6;x++){ fo ...
- HTTP要点概述:十一,HTTP状态码
一,状态码: 状态码告知从服务器返回的请求结果.用户借助状态码可以判断服务器是正常处理了请求,还是发生了错误. 状态码比如200 OK,以3位数字和原因短语组成. 数字中的第一位制定了相应的类别,后两 ...
- HDU 5752Sqrt Bo
Sqrt Bo Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total S ...
- luogu 1901 发射站
题目大意: 一个数列,它左边第一个比它高的人和右边第一个比它高的人要加上它的权值 思路: 单调栈维护一个单调递减的栈 正反各维护一遍 #include<iostream> #include ...
- Navicat for MySQL 激活方法
Navicat for MySQL 激活方法: 首先下载 PatchNavicat.exe ,不知道在哪儿下的可以直接拿走: 链接:https://pan.baidu.com/s/1yy4M8IDx8 ...
- 第七周 Leetcode 466. Count The Repetitions 倍增DP (HARD)
Leetcode 466 直接给出DP方程 dp[i][k]=dp[i][k-1]+dp[(i+dp[i][k-1])%len1][k-1]; dp[i][k]表示从字符串s1的第i位开始匹配2^k个 ...
- js moment.js日期操作类 datetime,日期操作,dayjs
http://momentjs.com/ JS时间处理插件MomentJS https://juejin.im/post/5a2bdc55f265da432b4abf5e Day.js 2kB超轻量时 ...
- Spring的 @ExceptionHandler注解无效问题
如果你想设置了@ExceptionHandler注解进行异常捕获返回异常信息,但是Debug调试时,代码并未进到被@ExceptionHandler注解标注的方法里,那么就检查你的配置文件是否包含 & ...
- [App Store Connect帮助]六、测试 Beta 版本(4.4) 管理 Beta 版构建版本:停止测试构建版本
在首页上,点按“我的 App”,选择您的 App,然后在工具栏中点按“TestFlight”. 在左列中的“构建版本”下,点按您 App 的平台(iOS 或 Apple TVOS). 在右表中,点按该 ...
- [Swift通天遁地]一、超级工具-(11)使用EZLoadingActivity制作Loading加载等待动画
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...