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
相关文章
- 欧意交易所下载安装app 欧意交易所APP下载指南
- Polygon币是什么币?
- 柴犬币在哪里买靠谱?正规SHIB交易所大盘点
- 以太坊全部市值 以太坊市值全球排名
- atoken钱包如何提现?AToken钱包提现教程
- 苹果欧意交易所下载安装_苹果欧意交易所安装指南
- 欧意交易所电脑版下载安装 欧意交易所电脑客户端下载指南
- 欧意加密货币交易平台下载官网版v6.2.6 欧意加密货币交易平台 v6.2.6 正式发布
- 国际炒安币装包在哪下载?没手续费炒安币装包用户量排名
- usdt在哪里下载?usdt钱包下载地址v2.31.1
- 增长币 BOST是什么币?BOST币官网总量和上线交易所介绍
- TRX币公认官方入口iOS排行榜 TRX币官方入口好用说明
- 什么是AERGO币?
- 币圈都在用的派币客户端在哪交易?实用靠谱虚拟货币手机钱包三大排名
- Tokbn是什么币?
- DFC是什么币种?
- 芝麻开门怎么买币卖币?芝麻开门交易所买币买币教程
- ok交易所app下载最新版_OKApp最新版本下载教程指南
- 欧意交易所官网下载 欧意交易所官方APP下载,安全可靠,交易便捷
- 国际顶尖USDC钱包在哪找?稳定低手续费USDC钱包推荐