SQL语句创建SQLServer数据库和表(附答案)
SQL语句创建SQLServer数据库和表(附答案)本文简介:实验四用SQL语句创建SQLServer数据库和表(2学时)一.实验的目的1)熟悉企业管理器环境。2)掌握使用查询分析器的方法3)熟练掌握数据库创建、表创建与修改、索引创建与删除的语法4)熟悉SQLSERVER的数据类型5)熟练使用SQLSERVER的联机帮助系统二、相关知识点1建立数据库2创建数据
SQL语句创建SQLServer数据库和表(附答案)本文内容:
实验四
用SQL语句创建SQL
Server
数
据库和表(2学时)
一.
实验的目的
1)
熟悉企业管理器环境。
2)
掌握使用查询分析器的方法
3)
熟练掌握数据库创建、表创建与修改、索引创建与删除的语法
4)
熟悉SQL
SERVER的数据类型
5)
熟练使用SQL
SERVER的联机帮助系统
二、相关知识点
1
建立数据库
2
创建数据库的语句请参见SQLSERVER的帮助CREATE
DATABASE,以下仅作参考
USE
S_T的结果是让此处显示s_t数据库,表明以下的所有操作都是在S-T数据库中进行的
2
定义表的语句:
CREATE
TABLE
(
[
]
[,
[
]
]
…
[,
]
);
[例]
3
修改表的语句:
ALTER
TABLE
[
ADD
[完整性约束
]
]
[
DROP
]
[
ALTER
COLUMN
];
[例]
4
删除表的语句:
DROP
TABLE
5
增加、删除索引
三.
实验内容
1.
创建学生-课程数据库(命名为S_T),然后在S_T数据库中创建学生情况表Student,课程表Course,学生选课表SC。
各种表的表结构如下:
表3-1
student表结构
列名
描述
数据类型
长度
是否允许为空值
默认值
说明
Sno
学号
char
11
N
主键
Sname
姓名
char
8
N
Ssex
性别
char
2
N
Sage
年龄
Tinyint
N
Sdept
所在系
char
10
N
表3-2
Course表结构
列名
描述
数据类型
长度
是否允许为空值
说明
Cno
课程号
char
3
N
主键
Cname
课程名
char
20
N
Cpno
先修课
char
10
Ccredit
学分
Tinyint
取值1-6的整数
表3-3
SC表结构
列名
描述
数据类型
长度
是否允许为空值
说明
Sno
学号
char
11
N
外键
Cno
课程号
char
3
N
外键
Grade
成绩
numeric
(3,1)
0-100之间
1)
修改表结构
l
将course表的cpno的长度改为3
l
将student表中的sdept列的长度改为50
l
给student表中的ssex列的增加默认约束,默认值为“男”
l
为course表增加一列teacher,char(8)
l
删除course表的teacher列
l
为sc增加主键约束,约束建立在sno,cno两列上,命名为s_c
答案
--修改表中字段列的长度
--将course表的cpno的长度改为3
--将student表中的sdept列的长度改为50
alter
table
course
alter
column
Cpno
char(3)
alter
table
student
alter
column
sdept
char(50)
--修改表位列增加约束
--给student表中的ssex列的增加默认约束,默认值为“男”
alter
table
student
add
constraint
df_stu_sex
default(
男
)
for
Ssex
--修改表增加新列
--为course表增加一列teacher,char(8)
alter
table
course
add
teacher
char(8)
--修改表删除列:?删除course表的teacher列
alter
table
course
drop
column
teacher
--修改表添加主键约束:?为sc增加主键约束,约束建立在sno,cno两列上,命名为s_c
alter
table
SC
add
constraint
pk_SC_sc
primary
key(Sno,Cno)
2.
完成课后练习的SPJ数据库及相应的S、P、J表的建立,并按照以下的要求补充:
l
为每个表设一个主键
l
为S表增加一个唯一索引s_sno
l
为p表增加一个索引p_pno,要求降序
l
为J表增加一个索引j_jno
l
为SPJ表加外键约束
l
为SPJ表增加列qty的检查约束,要求qty>0
l
为SPJ表增加索引spj_sno_pno_jno,要求索引列sno用降序,pno、jno用升序
3.
预习insert
INTO语句的用法,完成以上所有数据库表的记录输入
答案
use
master
--进入当前需要使用的数据库
go
--创建spj数据库
create
database
spj
ON
--数据文件
(
name=
spj_db,filename
=
E:\SQL
Server2005\database\spj_db.mdf,size
=3,maxsize
=
10,filegrowth=1
)
log
on
--日志文件
(
name=
spj_log,filename
=
E:\SQL
Server2005\database\spj_log.ldf,size=1,maxsize=10,filegrowth=1
)
go
use
spj
go
--在spj数据库中创建表
create
table
s
--创建供应商表
(
Sno
char(5)
not
null
primary
key,--主键供应商代码
Sname
varchar(20),--供应商姓名
Sstatus
int,--供应商状态
City
varchar(10),--供应商所在地
)
go
create
table
p
--创建零件表
(
Pno
char(5)
not
null
primary
key,--零件代码
Pname
varchar(20)
not
null,--零件名
Color
varchar(10),--颜色
Weight
int
--重量
)
go
create
table
j
--创建工程项目表
(
Jno
char(5)
not
null
primary
key,--项目代码
Jname
varchar(20)
not
null,--项目名称
City
varchar(10),--项目所在城市
)
go
create
table
spj
--创建供应情况表
(
Sno
char(5)
not
null
REFERENCES
S(Sno),--供应商代码
Pno
char(5)
not
null
REFERENCES
P(Pno),--零件代码
Jno
char(5)
not
null
REFERENCES
J(Jno),--工程项目代码
Qty
int,--供应数量
primary
key(Sno,Pno,Jno)
)
go
--为表创建索引
create
unique
index
s_sno
on
s(Sno)
create
index
p_pno
on
p(Pno
DESC)
create
index
j_jno
on
j(Jno)
create
index
spj_sno_pno_jno
on
spj(Sno
DESC,Pno,Jno)
--为SPJ表加外键约束
alter
table
spj
add
constraint
fk_sno
foreign
key
(sno)
references
s(sno)
alter
table
spj
add
constraint
fk_pno
foreign
key
(pno)
references
p(pno)
alter
table
spj
add
constraint
fk_jno
foreign
key
(pno)
references
j(jno)
--为表添加check约束
alter
table
spj
add
constraint
ck_qty
check(Qty>0)
go
--向数据库表中插入数据
insert
into
s
values(
s1,精益,20,天津
)
insert
into
s
values(
s2,盛锡,10,北京
)
insert
into
s
values(
s3,东方红,30,北京
)
insert
into
s
values(
s4,丰泰盛,20,天津
)
insert
into
s
values(
s5,为民,30,上海
)
insert
into
p
values(
p1,螺母,红,12)
insert
into
p
values(
p2,螺栓,绿,17)
insert
into
p
values(
p3,螺丝刀,蓝,14)
insert
into
p
values(
p4,螺丝刀,红,14)
insert
into
p
values(
p5,凸轮,蓝,40)
insert
into
p
values(
p6,齿轮,红,30)
insert
into
j
values(
j1,三建,北京
)
insert
into
j
values(
j2,一汽,长春
)
insert
into
j
values(
j3,弹簧厂,天津
)
insert
into
j
values(
j4,造船厂,天津
)
insert
into
j
values(
j5,机车厂,唐山
)
insert
into
j
values(
j6,无线电厂,常州
)
insert
into
j
values(
j7,半导体厂,南京
)
insert
into
spj
values(
s1,p1,j1,200)
insert
into
spj
values(
s1,p1,j3,100)
insert
into
spj
values(
s1,p1,j4,700)
insert
into
spj
values(
s1,p2,j2,100)
insert
into
spj
values(
s2,p3,j1,400)
insert
into
spj
values(
s2,p3,j2,200)
insert
into
spj
values(
s2,p3,j4,500)
insert
into
spj
values(
s2,p3,j5,400)
insert
into
spj
values(
s2,p5,j1,400)
insert
into
spj
values(
s2,p5,j2,100)
insert
into
spj
values(
s3,p1,j1,200)
insert
into
spj
values(
s3,p3,j1,200)
insert
into
spj
values(
s4,p5,j1,100)
insert
into
spj
values(
s4,p6,j3,300)
insert
into
spj
values(
s4,p6,j4,200)
insert
into
spj
values(
s5,p2,j4,100)
insert
into
spj
values(
s5,p3,j1,200)
insert
into
spj
values(
s5,p6,j2,200)
insert
into
spj
values(
s5,p6,j4,500)
select
from
s
select
from
p
select
from
j
select
from
spj
相关文章
- 林丽渊现在做什么(林丽渊)
- 鲫鱼汤怎么做好喝又营养(鲫鱼汤怎么做)
- 水手 歌词(回味美好歌词(水手))
- 1700克有几斤
- 儿子结婚请柬邀请函怎么写
- 简单又炫酷的转笔技巧(转笔技巧)
- 大连财经学院宿舍条件怎么样 有独立卫生间和空调吗
- 跳舞solo是什么意思
- 男方生育保险能报多少钱,生育保险计算方式
- 2018年每一个月各有几天
- broccoli
- 盎怎么读组词(盎怎么读)
- 上海10号线地铁首末班车时间
- 2020年春运时间开始结束是几号(春运火车票什么时候可以预定)
- 无置喙成语,跟一二有关的成语
- 池晟俊(关于池晟俊简述)
- 描写景物的 什么
- 探秘LOL吸血鬼:德莱文与致命魅力
- 中国移动有什么好的套餐(中国移动套餐有哪些)
- 创意设计(关于创意设计介绍)