--列约束
--表约束
--列约束 :针对表中一个列的约束
--表约束 :针对表中一个或多个列的约束
--SQL中的约束分类 : primary key 、foreign key 、unique 、check 、default
--在定义表的同时设置primary key 约束
create table 学生
(
学号 char(7) primary key,
姓名 char(8) not null,
性别 char(2) ,
年龄 int ,
专业 char(8)
)
--在创建主键约束的同时自己指定约束名
create table 选课
(
学生号 char(4) ,
课程号 char(7),
constraint pk_yyc primary key (学生号,课程号)
)
//
--使用alter table 的add constraint 语句添加约束
create table yyc
(
xuehao char(7),
xingbie char(2),
nianling int
)
--修改列添加not null 约束
alter table yyc
alter column xuehao char(7) not null
--修改列添加primary key约束 使用alter table 的add constraint 语句
alter table yyc
add constraint pk_y primary key(xuehao)
--删除主键约束
alter table yyc
drop constraint pk_y
//
--创建和删除unique约束
--unique唯一性约束,主键自动具有唯一性约束,另外指定具有unique约束的列都是候选主键
--唯一性约束可以同时使用在几个列的组合上,这些组合的值必须唯一
--unique和primary key 的区别 :unique约束的列可以取空值,但是主键的列必须设置为not null
--在创建表的时候设置唯一性约束
create table mm
(
aa char(2) primary key,
bb int constraint nu_mm unique
)
alter table mm
add cc int
--在修改表的时候添加unique唯一性约束
alter table mm
add constraint nu2_mm unique(cc)
--删除表中的唯一性约束
alter table mm
drop constraint nu2_mm
//
--创建和删除外键约束foreign key
--在Create table时添加外键约束
Create table nn
(
学号 char(7) foreign key references 学生(学号),
身份证号 char(10) primary key
)
Create table oo
(
学号 char(7) constraint fk_oo foreign key references 学生(学号),
身份证号 char(10) primary key
)
--删除外键约束
alter table oo
drop constraint fk_oo
--使用alter table 时添加外键约束
use test
go
alter table oo
add constraint fk_oo1 foreign key (学号) references 学生(学号)
alter table oo
drop constraint fk_oo1
//
--创建和删除check约束
--创建表时创建check约束
create table yyy
(
aa int primary key,
bb int not null check(bb>=135)
)
create table ccc
(
aa int primary key,
bb int constraint ck_oi check(bb>=135)
)
--check与in结合指定参数范围的指定集合
create table yu
(
aa int primary key,
bb char(2) constraint ck_oi1 check (bb in (‘男‘,‘女‘))
)
--删除check约束
alter table yu
drop constraint ck_oi1
--在alter table 的同时添加check约束
alter table yu
add constraint ck_ooo check(bb in (‘男‘,‘女‘))
//
--创建和删除default约束
--default约束作用 :当使用insert语句插入数据时如果没有为某一列指定数据,那么default约束就在该列中输入一个默认值
--default约束只能应用于insert语句
--在创建表时指定default约束
create table ww
(
aa int primary key,
sex char(2) default ‘男‘,
)
create table hh
(
aa int primary key,
sex char(2)constraint df default ‘男‘,
)
--删除default约束
alter table hh
drop constraint df
--在alter table 时指定default约束
--此时需要用到default 默认值 for 列名
alter table hh
add constraint ddf default ‘男‘ for sex
相关文章
- 10-21(四):数据库表和列中的约束的使用示例
- 10-21用SQL语句创建和删除Access数据库中的表;添加列和删除列
- 10-21使用sqlldr命令导入资料到Oracle数据库表中的示例说明
- 10-21JAVA中的四种引用以及ReferenceQueue和WeakHashMap的使用示例
- 10-21android中sqlite数据库的基本使用和添加多张表
- 10-21[译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?