澳门新萄京SQLServer之DEFAULT约束

澳门新萄京SQLServer之DEFAULT约束

成立表时添加暗中认可约束

第3判断表是或不是选在,假如存在则先删除表再添加,假诺不设有则一贯抬高。

语法:

–创制新表时添加暗许约束
–数据库表明
use 数据库名
go
–要是表已存在则先删除表再创设,假若表不存在则间接创立
if exists(select * from sysobjects where
name=表名 and type =’U’)
drop table 表名;
go
–建表语法注解
create table 表名
(
–字段注脚
列名 列类型 identity(1,1) not
null,
列名 列类型) null,
列名 列类型 null,
列名 列类型 null,
列名 列类型,
列名 列类型 constraint 约束名 default
默认值,
primary key clustered(列名 asc)
with(ignore_dup_key=off) on [primary] –主键索引注脚
)on [primary]

–字段注释表明
exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

go

示例:

–成立新表时添加暗中同意约束
–数据库注脚
use testss
go
–假若表已存在则先删除表再次创下立,若是表不存在则一直开立
if exists(select * from sysobjects where
name=’test1′ and type =’U’)
drop table test1;
go
–建表语法表明
create table test1
(
–字段证明
id int identity(1,1) not null,
name nvarchar(50) null,
sex nvarchar(50) null,
age nvarchar(50) null,
classid int,
height int constraint default_he default
166,
primary key clustered(id asc)
with(ignore_dup_key=off) on [primary] –主键索引注明
)on [primary]

–字段注释证明
exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’id主键’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’id’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’姓名’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’name’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’性别’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’sex’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’年龄’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’age’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’班级id’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’classid’;

go

澳门新萄京 1

澳门新萄京 2

使用SSMS数据库管理工科具添加CHECK约束

一 、连接数据库,选用数据库,选用数据表-》右键点击(或然直接点击约束,右键点击,选拔丰盛约束,前面步骤一样)-》采取设计。

澳门新萄京 3

② 、采纳要加上约束的数量列-》右键点击-》选拔CHECK约束。

澳门新萄京 4

三 、在CHECK约束弹出框中式点心击添加。

澳门新萄京 5

四 、在CHECK约束弹出框中-》输入CHECK约束说明式-》输入CHECK约束名-》输入CHECK约束描述-》别的能够选用私下认可。

澳门新萄京 6

伍 、点击关闭-》点击保存按钮(恐怕ctrl+s)-》刷新表查看结果。

澳门新萄京 7

选用SSMS数据库管理工科具添加外键约束

本示例演示当表结构已存在时添加外键约束,成立表时添加外键约束步骤和表结构存在时添加外键步骤一样。示例演示如下:

一 、连接数据库,打开要添加外键的数目表-》右键点击-》选用设计。

澳门新萄京 8

② 、在表设计窗口-》选择要添加外键的多寡行-》右键点击-》选拔涉及。

澳门新萄京 9

③ 、在外键关系窗口中-》点击添加。

澳门新萄京 10

④ 、添加达成后-》首先修改表和列规范。

澳门新萄京 11

五 、在表和列窗口中-》输入外键名-》在左侧选拔主表和涉嫌的列-》在右侧选拔从表和当作外键的列-》点击显然。

澳门新萄京 12

陆 、在外键关系窗口中-》可选拔丰盛只怕不添加外键描述-》可挑选丰富大概不添加修改或然去除数据时级联操作-》可选拔丰盛或许不添抓牢制外键约束-》可挑选丰硕恐怕不添加强制用于复制-》点击关闭。

澳门新萄京 13

⑦ 、点击保存按钮(ctrl+s)-》此时表会弹出警告窗口,点击是-》刷新查看外键是或不是丰盛成功。

澳门新萄京 14

澳门新萄京 15

alter table Acc_WayBill
add PackingWay int
go
EXEC sys.sp_addextendedproperty @name=N’MS_Description’,
@value=N’包装方式(0纸箱、1木箱、2其余)’ ,
@level0type=N’SCHEMA’,@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’Acc_WayBill’,
@level2type=N’COLUMN’,@level2name=N’PackingWay’
GO

选用SSMS数据库管理工科具添加DEFAULT约束

壹 、连接数据库,采用数据表-》右键点击-》接纳设计。

澳门新萄京 16

二 、在表设计窗口中-》选取数据列-》在列属性窗口中找到暗许值或绑定-》输入暗许值(注意暗中同意值的数据类型和输入格式)。

澳门新萄京 17

叁 、点击保存按钮(恐怕ctrl+s)-》刷新表-》再次打开表查看结果。

澳门新萄京 18

当表结构不设有时

若是表结构不设有,能够直接助长约束,能够而且加上叁个依旧八个约束。

语法:

–若是表结构不设有时添加check约束
use 数据库名;
go
–尽管已存在表则删除
if exists(select * from sysobjects where
name=表名 and xtype=’U’)
drop table 表名;
go
–创建表
create table 表名
(
–字段注明
列名 int identity(1,1) not null,
列名 nvarchar(50) null,
列名 nvarchar(50) null constraint 约束名
check(约束规则),
列名 nvarchar(50) null,
列名 int,
列名 int constraint 约束名
check(约束规则)
primary key clustered(列名 asc)
with(ignore_dup_key=off) on [primary], –主键索引申明
)on [primary]

–字段注释注明
exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列描述’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列描述’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列描述’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列描述’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列描述’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

go

示例:

–假如表结构不存在时添加check约束
use testss;
go
–要是已存在表则删除
if exists(select * from sysobjects where
name=’test1′ and xtype=’U’)
drop table test1;
go
–创建表
create table test1
(
–字段注脚
id int identity(1,1) not null,
name nvarchar(50) null,
sex nvarchar(50) null constraint check1
check(sex=’男’ or sex=’女’),
age nvarchar(50) null,
classid int,
height int constraint check2
check(height>=110 and height<=120)
primary key clustered(id asc)
with(ignore_dup_key=off) on [primary], –主键索引评释
)on [primary]

–字段注释注解
exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’id主键’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’id’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’姓名’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’name’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’性别’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’sex’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’年龄’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’age’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’班级id’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’classid’;

go

 澳门新萄京 19

澳门新萄京 20

澳门新萄京 21

在新表中开创外键

 语法:

if exists( select * from sysobjects where
name=表名 and type =’U’)
drop table 表名;
go

–当表结构不存在时
–建表语法证明
create table 表名
(
–字段注解
列名 int identity(1,1) not null,
列名 int,
primary key clustered(id asc)
with(ignore_dup_key=off) on [primary], –主键索引注解
constraint 外键名 foreign key(列名)

references 主表名(列名)
on update cascade–是不是级联操作
on delete cascade
)on [primary]

–字段注释注脚
exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

go

示例:

if exists( select * from sysobjects where
name=’test1’and type =’U’)
drop table test1;
go

–当表结构不设有时
–建表语法注脚
create table test1
(
–字段评释
id int identity(1,1) not null,
name nvarchar(50) null,
sex nvarchar(50) null,
age nvarchar(50) null,
classid int,
primary key clustered(id asc)
with(ignore_dup_key=off) on [primary], –主键索引证明
constraint t3_t4 foreign key(classid)

references test2 (id)
on update cascade
on delete cascade
)on [primary]

–字段注释注解
exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’id主键’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’id’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’姓名’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’name’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’性别’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’sex’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’年龄’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’age’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’班级id’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’classid’;

go

澳门新萄京 22

–单独插入字段暗许值
alter table Acc_WayBillBackBillDetails add DEFAULT 0 for IsReceipt

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图