ms-sql学习笔记(2)创建数据库中的表\约束\规则

以下各例均在“查询分析器”里实验成功,让我们一起学习数据库吧。

1、在box数据库表中创建一个名为meetingday,基于smalldatetime的数据类型
该列不允许为空值的用户自定义数据类型。

use box
go
exec sp_addtype meetingday,smalldatetime,'not null'

2、删除用户自定义数据类型。
use box
go
exec sp_droptype 'meetingday'

3、利用create table命令创建box1/box2/boxin/teacher表。
use box
go
create table box1
(编号 char(8) not null,
ISBN号 char(13) not null,
书名 varchar(255),
定价 money,
出版社 varchar(255),
出版日期 datetime)

create table box2
(编号 char(8) not null,
ISBN号 char(13),
书名 varchar(255),
定价 money,
出版社 varchar(255),
出版日期 datetime)

create table boxin
(编号 char(8) not null,
ISBN号 char(13))

create table teacher
(作者编号 char(4),
作者姓名 varchar(255) not null,
性别 char(2) not null,
职称 char(20),
联系电话 char(10),
编号 char(8) not null)

4、利用alter table命令在box1表中增加一列“作者”,数据类型为varchar,允许为空值
use box
go
alter table box1
add 作者 varchar null

5、删除box1表中的“作者”列。
use box
go
alter table box1
drop column 作者

6、修改box1表中的已有列的属性,将“定价”的数据类型改为smallmoney.
alter table box1
alter column 定价 smallmoney
7、查看图书表box1的结构
exec sp_help box1

8、查看图书表box1中的数据
use box
select *
from box1
9、在box1/box2表中插入如下记录
insert into box2
values('20100237','20100220','活性染料化工3',35,'新疆人民','2010-02-20')
insert into box2
values('20100236','20100220','活性染料化工4',35,'新疆人民','2010-02-20')
insert into box2
values('20100235','20100220','活性染料化工5',35,'新疆人民','2010-02-20')
insert into box2
values('20100234','20100220','活性染料化工6',35,'新疆人民','2010-02-20')
insert into box2
values('20100233','20100220','活性染料化工7',35,'新疆人民','2010-02-20')

insert into box2
values('20100228','20100220','新春快乐3',35,'中国人民','2010-02-20')
insert into box2
values('20100229','20100220','新春快乐4',35,'中国人民','2010-02-20')
insert into box2
values('20100230','20100220','新春快乐5',35,'中国人民','2010-02-20')
insert into box2
values('20100231','20100220','新春快乐6',35,'中国人民','2010-02-20')
insert into box2
values('20100232','20100220','新春快乐',35,'中国人民','2010-02-20')

insert into box1
values('20100238','20100220','daxueyinyu',40,'电子科技大学','2009-03-10')

10、对在box1表中添加的记录进行修改,修改记录的命令如下
use box
update box1
set 出版社='机械工程'
where 编号='20100232'

11、删除box1表中定价为100的记录
use box
delete
from box1
where 定价=100

12、删除box1表中所有的记录
use box
delete
from box1
13、使用drop语句删除数据表

drop box1

14、使用delete语句,删除表内所有行
delete box1

15、为teacher表插入信息
insert into teacher
values('0006','ldk','男','教授','12345678','20100227')
insert into teacher
values('0007','ddk','男','教授','12345678','20100228')
insert into teacher
values('0008','ggk','男','教授','12345678','20100229')
insert into teacher
values('0009','jkl','男','教授','12345678','20100230')
insert into teacher
values('0010','ggk','dd','副教授','12345678','20100233')

16、使用transact-sql语句为teacher表创建check约束。
use box
alter table teacher
add
constraint ck_teacher check(性别='男' or 性别='女')

17、删除上面的约束语句
alter table teacher
drop constraint ck_teacher

18、用sql语句创建默认规则
use box
go
create default mr_定价
as '100'
go

19、将默认绑定到表中某列上
exec sp_bindefault mr_定价,'box1,定价'

20、在BOX数据库中创建规则GZ_定价,并将其绑定到box2表中的图书的“定价”列上,使得用户
输入的图书的定价在0-1000元的范围之内,否则提示输入无效。
use box
go
create rule gz_定价
as @定价>=0 and @定价<=10000
go

21、将它绑定到box2表中的“定价”列上,此时,变量“@定价”代表定价的列值。
exec sp_bindrule gz_定价,'box2.定价'



郑重声明:资讯 【ms-sql学习笔记(2)创建数据库中的表\约束\规则】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——