博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
约束的类型
阅读量:5173 次
发布时间:2019-06-13

本文共 1280 字,大约阅读时间需要 4 分钟。

约束的类型:

主键约束: 要求主键列不能为空,要求主键列唯一

非空约束: 要求该列不能存在空值

唯一约束: 要求该列的值必须唯一的,允许为空,但只能出一个空值

检查约束: 限制某列取值的范围是否合适

默认约束: 设计某列的默认值

外键约束: 用于在两表之间建立关系,需要指定引用主表是哪一列

 

主键约束与唯一约束的区别

1.主键约束所在的列不允许有空值,唯一约束所列允许为空值

2.每个表中可以有一个主键,多个唯一约束

 

语法

alter table 表名

add constraint 约束名 约束类型 具体的约束说明

约束名的取名规则推荐采用: 约束类型_约束列

主键[primary key]约束 :如 PK_userid

唯一[unique key] 约束 :如 UQ_userid

默认[default key] 约束 :如 DF_userid

检查[check key]  约束 :如 CK_userid

外键[foreign key] 约束 :如 FK_userid

 

 

--添加主键约束   Alter Table stuInfo   Add Constraint  PK_stuNO primary Key(stuNo)   ---添加唯一约束   Alter Table stuInfo   Add Constraint UQ_stuID unique(stuID)   ---添加默认约束   Alter Table stuInfo   Add Constraint DF_stuAddress default('地址不详') for stuAddress   ---添加检查约束   Alter Table stuInfo   Add Constraint CK_stuAge check(stuAge between 15 and 40)   ---添加外键约束   Alter Table stuMarks   Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)

 

在创建表的时候同时添加约束的写法:use stuDB   go   if exists(select * from Sysobjects where name = 'stuInfo')   drop table stuInfo   go   create table stuInfo   (        stuName varchar(20) not null primary key(stuName)    ,stuID int not null unique(stuID)   ,stuAddress varchar(20) not null default('地址不详')   ,stuAge int not null check(stuAge between 15 and 40)

 

转载于:https://www.cnblogs.com/xiaowie/p/8674980.html

你可能感兴趣的文章
js调用swf文件代码
查看>>
CodeForces- 371C Hamburgers
查看>>
java 特殊字符
查看>>
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
查看>>
机房测试8.29
查看>>
锁机制,信号机制,事件机制
查看>>
简单sql语句
查看>>
system.out输出到文件上
查看>>
updataxml报错注入
查看>>
插入排序,希尔排序
查看>>
DcotrineFixtureBundle学习
查看>>
【pygame游戏编程】第四篇-----打字测速游戏
查看>>
第一次作业-准备篇
查看>>
洛谷 P4093: bzoj 4553: [HEOI2016/TJOI2016]序列
查看>>
如何切换python2和python3 版本
查看>>
常见的文件包含漏洞
查看>>
mysql(一主从从)
查看>>
vue事件.navtive 的使用
查看>>
符号“&”和const在函数里不同位置的用法
查看>>
在vue的项目中引入swiper插件
查看>>