首页 > 知识与问答 > SQL语句创建SQLServer数据库和表(附答案)

SQL语句创建SQLServer数据库和表(附答案)

来源:互联网转载 时间:2025-05-26 22:31:00 浏览量:

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

© 转乾企业管理-攻考网 版权所有 | 黔ICP备2023009682号

免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:303555158#QQ.COM (把#换成@)