sql 2005 的实例化学习 sql2005 1

/* 判断是不是该数据库已经存在 */
if exists(select 1 from master.dbo.sysdatabases where name='student')
drop database student

/*创建数据库  */
create database student
on primary
/*主数据文件的具体描述 */
(
name='student_data',       --主数据库的文件逻辑名
filename='d:/work/student_data.mdf',   --库的物理路径
maxsize=10mb,                         --数据库的初始大小
filegrowth=15%        --增长率
)
log on
(
 name='student_log',
 filename='d:/work/student_data.ldf',
 size=2mb,
 filegrowth=1mb
)
/* 删除数据库   库名sqlsql*/
--DROP database sqlsql

use student   --切换到要执行操作的数据库

/* 创建表*/
if exists(select * from master.dbo.sysdatabases where name='webstudent')

drop table webstudent  --删除表

create table webstudent(
sid smallint identity(1,1),
sname varchar(20),
sxuehao varchar(20),
ssex int not null,
sage int ,
snum numeric(18,0),--身份证号   小数为0位,18位  非空
sjiguan varchar(100)
)
--主键约束
alter table webstudent
add constraint pk_sid primary key(sid)
--默认约束 如果不给该列加值则默认填写'籍贯不详'
alter table webstudent
add constraint df_sjiguan default('籍贯不详')for sjiguan
--唯一约束 只能有一个学号 不能有重复的学号
alter table webstudent
add constraint uq_sxuehao unique(sxuehao)
--检查约束 年龄在15到40岁之间
alter table webstudent
add constraint ck_sage check(sage between 15 and 40)


/*删除约束*/
alter table webstudent
drop constraint fk_sid

select * from webstudent
select * from score
/*单行插入值*/
insert into webstudent values('姓名', '060101008', 1, 22, '370829198409271710','')

/*多行插入值*/

insert webstudent (sname,sxuehao,ssex,sage,snum,sjiguan)
select  '繁华蒂法', '060101010', '0', '34', '370829198709271710', '' Union
select  '按时地方', '060101011', '1', '22', '370829198709271710', '' Union
select  '赌东道', '060101012', '0', '23', '370829198709271710', '山东'

 


--创建成绩表
if exists(select 1 from master.dbo.sysdatabases where name='score')
drop table score

create table score(
sids int not null,
scoremark int not null
)

--添加外键约束   在副表里面加入约束   条件:主表的字段必须是关键字
alter table score--外键的表名
add constraint fk_score foreign key(sids) references webstudent--主表的名字


/*删除约束*/
alter table score
drop constraint fk_score


select * from score
/* 添加相关信息,要是关联成功则 在webstudent中没有的ID不能被插入数据 */
insert score (sids, scoremark)
select  11,34 Union
select  13,44 Union
select  14,45

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值