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 ...
随机推荐
- Android 跑马灯效果与EditText冲突
近期一个项目,因为布局TextView内容太长了.首先想到的就是跑马灯效果,所以就把TextView又一次自己定义了,尽管跑马灯效果实现了.只是导致了还有一个问题就是EditText输入问题,当第一次 ...
- SpringMVC导出Excel
import java.math.BigDecimal; import java.net.URLEncoder; import java.text.SimpleDateFormat; import j ...
- 有时候当你改动了xib   你调试,各种改的时候又没变化的时候
当你xib 改变了 调试的时候又没变化的时候,当你各种改错无用的时候,就是xcode xib的缓存问题了. please clear xcode . command + shift + K . ...
- [软件分享]aboboo英语复读机 使用心得
软件名称:aboboo www.aboboo.com 作用:英语复读,社区互动,丰富的材料,可以全方位锻炼听说能力. 技巧1:如何锻炼口语? 注册一个帐号,登陆后下载使用社区自带的课件,然后使用“随意 ...
- 2015/12/30 Java语法学习
①标识符包括:包名.类名.方法名.变量名.常量名.属性名 标识符书写规则:1,标识符由字母.数字._.$ 组成 2,数字不能出现在开始位置 ...
- placeholder 占位符
placeholder 简介 | TensorFlow https://tensorflow.google.cn/programmers_guide/low_level_intro 供给 目前来讲 ...
- H264 介绍[1]
频编解码技术有两套标准,国际电联(ITU-T)的标准H.261.H.263.H.263+等:还有ISO 的MPEG标准Mpeg1.Mpeg2.Mpeg4等等.H.264/AVC是两大组织集合H.263 ...
- git如何避免每次pull或者push的时候都要输入用户名和密码?
git config --global credential.helper store 这个命令则是在你的本地生成一个账号密码的本子似的东东,这样就不用每次都输入了(但是还得输入一次) 这个指令对于w ...
- [翻译]NUnit---Condition Asserts && Comparisons Asserts && Type Asserts (五)
网址:http://www.cnblogs.com/kim01/archive/2013/03/31/2991597.html Condition Asserts 测试指定条件的方法称作条件测试,测试 ...
- go语言---reflect
go语言---reflect https://blog.csdn.net/cyk2396/article/details/78902953 一.reflect的使用: import ( "f ...