实验二通过SQL语句创建与管理数据表Word下载.docx

上传人:b****1 文档编号:6071294 上传时间:2023-05-06 格式:DOCX 页数:21 大小:193.09KB
下载 相关 举报
实验二通过SQL语句创建与管理数据表Word下载.docx_第1页
第1页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第2页
第2页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第3页
第3页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第4页
第4页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第5页
第5页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第6页
第6页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第7页
第7页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第8页
第8页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第9页
第9页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第10页
第10页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第11页
第11页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第12页
第12页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第13页
第13页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第14页
第14页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第15页
第15页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第16页
第16页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第17页
第17页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第18页
第18页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第19页
第19页 / 共21页
实验二通过SQL语句创建与管理数据表Word下载.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验二通过SQL语句创建与管理数据表Word下载.docx

《实验二通过SQL语句创建与管理数据表Word下载.docx》由会员分享,可在线阅读,更多相关《实验二通过SQL语句创建与管理数据表Word下载.docx(21页珍藏版)》请在冰点文库上搜索。

实验二通过SQL语句创建与管理数据表Word下载.docx

Snamevarcnar$nstriu1.1f

Sexchar2notnullr

Birthsmall丄ilwajcl.-__f

Glassno(3i~ottijI11

Entrance_d^teJir.dlIdatetiK.enotriul

Homeaddzvarciiar■40)

*I

鬲消息

③、创建sc表

createtable

Snochar(8)Cnochar(3)Gradetinyintprimarykeyforeignforeign

SC(notnull.

notnull,

check(Grade>

=0andGrade<

=100),(Sno,Cno),

key(Sno)referenceskey(Cno)references

Student(Sno),

Course(Cno)

3、通过SQL语句管理表结构

(1)添加和删除列

a.

2),允许为空

给Student表增加身高(以米单位)Stature列,类型为numeric(4,

值,且身高值需小于3.0米。

altertableStudent

^LQueryLsql-Z<

J.»

(zqy-PCVqy卩寿尸

[

3iltertablftStudentadd.Statur&

nuifL&

ric(4,2-check5ta,tiir-e<

=3

*1

111

命令已成功完成&

check(Stature

<

=3.0andStature>

=0)

b.给Student表增加所在系Sdept列,字符型,长度2,不允许为空值。

addSdeptchar

(2)notnull

c.给Student表增加邮政篇码Postcode列,字符型,长度为6,可以为空,若不为空时,则要求其值只能出现数字,不能是其它字符。

altertableStudentaddPostcodechar(6)check(PostcodeLike'

[1-9][0-9][0-9][0-9][0-9][0-9]'

QLQueryl.s<

)l-(zqy-PC\zRy(弓為尸▼

EJtatleStud&

nc

add.Pcsrcodechar6i

-check:

iarcadeLike*[1-9][0-9][0-9][0-9][0-9](0-9)1>

消息

命令已成切完成。

d.删除Student表中身高Stature列。

①、添加Stature列时就已知该列存在约束条件,若要删除该列,必须先删除约束条件,则

首先必须先找出约束条件的约束名称。

以下有两种方法:

1写入SQ语句找出

dropcolumnStature

2、运用企业管理器找出

a、打开Student表

b、选择Stature行,单击右键,选择“CHEC约束”

-—

心二

F耳砂g£

3ma〒亠眼肯|

tj&

•亠尊昌

>

JB»

田□Hart丑心Jr出ii息*畑•J山jif田m早THUjvn

jFf

c、约束名称显而易见

□關)

亲达式([Stature]<

^(3,0]AMD[Stature]*^(0))

□表谕计器

遅制用于INSERT可UPDATE昙

捋制用于复制异

拄创建或重新启用时碍睁或昙

2、其次删除Stature约束

*I出

百消息

命令已成功気成。

3、最后删除Stature列,完成

dropcolumnStature

SQLQueryXsql-ZQr»

(jqy-PC\zqy(52)}*

Elalcerrable5匸;

1-|iropcolumn5匸atuie

*Irrr

斷肖息

命令已成功完成

(2)添加和删除约束

a.在Student表添加约束:

入学时间必须在出生年月之后

altertable

Student

《Entrancedate)

命令已成功完成口

SQLQueryLsql-Z^Czqy-PC\zqy(54]尸aftlcertableStmdenc

addcanstraint:

birrtil

-checfci

b.给SC表的成绩Grade列增加默认值约束,默认值为0

altertableSC

addconstraintgradel

default('

O'

)forgrade

QLQuerylrsql-ZQm(zqyPC\zqy(54))"

曰altercebleSC

addconstrain匸gradeldefaulti1O'

>

forgrade|

扌1

irr

]消息

命令已成功完成7

c.删除Grade列的默认值约束锁定Grade列的约束名即可

dropconstraintgradel

fQLQueryl^ql-ZQ.„(jqy-PC\jqy(54))

□alc&

rtable3匚

Ldropconstraint

4

1.IH

J消息

(grade1为约束名)

4、通过SQ语句添加、修改、删除表中数据

(1)插入数据

a.Student表、Course表、SC表的记录见实验一的表5、表6、表7,其它数据可自行添加。

要求Student表和SC表中数据包括了每位同学自己的学号。

①、向Student表中添加数据

,‘1993-05-11'

'

061'

,‘2011-09-01'

-3Q-.(aqy(MJ)*2Q\-PC.S-tudw^tj-Hbo血"

E$QLG利『缜*1▼ZQ“;

科尸兀^耳片〔51『<

—、

EL

■unFtxxitE>

stuoentvalun(b1f13DI1-0JcS8>

23D4131);

LiiaeFtistgSruden匸val^e.9(•£

口《■「**虹"

*”左日."

】會与1-1二一二2"

rPD51"

■2011-ga-Ql■P1'

CS1rricroaiQ1:

i;

i^-sertxiit口^Undentvaluu("

^01101031,电青*rd舅WfSB-B弓_:

il?

F.204!

1_口&

-白九・子

i沽总

L1预宋响

L3侵盎响

L耳義嶷响

注意:

Sdep啲类型为char

(2),添加数据是不能写“计算机系”和“软件工程”,应改为“CS”

insert

into

Course

values

('

001'

'

高数’,’96'

6'

);

002'

C语言程序设计’,’80'

5'

003'

JAVA语言程序设计’,’48'

3'

004'

VisualBasic'

48'

4'

②、向Course表中添加数据

和“MS”

SQLQueryS.s.ql-ZQ._(i<

[y-PC\aqy(51))*|=

日=匸匚InCQ二吕U辛味丄“:

导(「0:

二'

』'

高敌F'

含F'

;

insertintoboursevaluesC*002'

'

C语言卡呈序设计'

30'

5'

j;

inser匸into二口口rseval口皂s7笛轴吾言程序设计JVJ护);

-insertinto匚ouzsevalues(r004Ff1VisualSasicrf*43r,14F:

|

1Irr,I

冷消息

(1行旻軫向)

门行受影响】

\1行受談向)

行受夥响)

③、向SC表中添加数据

SC

20050001'

89);

20110001'

78);

20110002'

60);

20110103'

80);

(QLQutyJ-2Q.(aq/POjqy(51))'

iriF»

Tt

St

-v4luB3b^C-C5口:

s

P-001b

蚀;

1113axz

vglue塔■5G,15.JL■

F"

0^1:

inss-rt

1Zita

sc

vel-e-^CllCriDL

p"

D32r

7S);

lugart;

IZLtS

valuesf2C_l

P*DJ3r

rr

SJl:

inj-szt

inta

nlued|*50L105028

r*DM・

州;

inseTr

120

^aiveaip2Qiiaig3B

r*DOIP

J

「:

犒.

消目需別出慣壬。

.第1行—.-

二ELSmjOHHIQKZiT"

ax_5C_S!

»

_143C:

-E23*ja^o谨冲突麦生;

址朴匚TuudonjLafo^y未FJbQ「勺二「Mluim'

Eno3.

2^3&

止*

i行寿沏

i升壹5皿

i行网淋

If亍欝加

i行貝術

上面截图所示的外键约束可不予考虑

b.执行如下语句:

insertintoStudent(Sno,Sname.Sex)values(20101101;

'

赵青'

,'

男'

),

该语句能成功执行吗?

为什么?

答:

不能成功执行,因为不能将值NULL插入列'

Sdept'

c.

执行如下语句:

insertintoscvalues(20110103'

005'

80),该语句能成功执行吗?

不能成功执行,因为SC表中的学号“005”的同学在Course表中不存在。

而S(表中的Cno是作为Course表的外键存在的,所以不能成功执行。

SQLQwyltql-ZQ(B|X-pcW<

Jljrl

云時皿匚此ipto>

=■valises011C10^'

J'

005V.0J[

(i

摘巨n寸、怨别g狀走—爭匚行

U1SXEII语切芦ZRXmKXX^]^,FK_B£

_G,M_lS10BirK*冲字”瀛即零发尘干数]glX'

r说0IW_A=fiT.表”3軋匚理砂屮-"

・皿'

Cea"

.,语旬已EhN

(2)修改数据

a.使用T-SQL语句,将Course表中的课程号为’002'

的学分改为4,总学时改为64。

updateCourse

setCredit=4

whereCno='

SQLQuery2.sqI-2Q…(門丫-丁Bupdate匚

ser2:

zedit=4

-whereCnc=rC02'

ii行受影响】

setTotal_perior=64

|i

QLqu总ryA=ql-ZQ...(zqy-P

三upda匸亡Course

m色匸TotalDar^c*-64

-whereCnc=fG02"

cx^qy(ss)>

*

-J消息

U行受黔响)

结果:

□01

高数

5

□02

匚语言程厚役计

003

^3

3

004

VisualBasic

b.使用T-SQL语句,将SC表中的选修了002'

课程的同学的成绩*80%。

updateSC

setGrade=Grade*0.8

1

匚QLQueiy£

sql-ZQ^Uq/-PC\ac

三updateSC

secGrade=Grade*D<

8

where匚no-'

002'

行受影响I

20110001

001

002

Q9

20110002

20110103

83

MJLL

M.L

AU£

(3)删除数据

a.使用T-SQL语句,删除选修了C语言程序设计”的学生的选课记录。

-ZQr..(iqy-PC\zqySQLQu&

ryl.cql■ZQ.,.(iqy-?

C\zqy(5

曰delet-efrom

wliere匚:

i0[异

iselect亡noCramCourse

-where^nair.e=TB■吾言程序设计T

彳E!

消息517,级别旳状态Q,第;

L行.

QEIET2语句与HEFER'

EtlCE约束"

FKSG_Cnc_L920E詐匚"

;

中突。

该冲突发注谱句已终止。

_

删除时,发现存在外键约束,且约束名为FK__SC__Cno__1920BF5C,则先删除约束

删除约束:

dropconstraintFK__SC__Cno__1920BF5C

SQLQuery2門

曰altertable5G

dropconstraintFKSC_Cno_15Z0BF5C

恰磊息

命令已成喉成。

删除记录:

deletefromCourse

whereCnoin

(selectCnofromCourse

whereCname='

c语言程序设计'

E

QLqueryZ=q"

-ZQ.J.(zqy-PC\zqy

3deleteIron:

Course

where^noin

selectCnoEroir.Course

LwhereCname='

c语台程序设计T

由消息]

厲行受影响】

Cno

Cname

Total_perior

Credit

96

6

JAVAil言程瘙…

40

cm

43

NU.L

NULL

MJIL

b.使用T-SQL语句,删除所有的学生选课记录。

deletefromSC

SQLQueryl^qI-ZQ^fzqy-F

deleueframSC

A消息|

(5行受影响)

结果:

5no

Grade

NLA1

说明:

删除后,请重新插入SC表中的记录。

同第4题③所示步骤相同,

ZQV-PC.Studentjn^a-dboS匚>

tQLQueryl.sql-Z^..(jqy-PC\2qy(S:

曰insert

5C

valuesi

2C'

^500C<

t,'

?

01'

89;

insert

lat□

5亡

TT3.1nes〔

-30110001*F*001・w;

inser匸

values(

^DLLDOCH1「0021f78;

j

ijiseirc

inta

valueai

^OllOOOl1f'

r89;

intc

valu.es

70L8GWJO外g;

-insert

intc

3i

如二f、0QXf&

□;

消息冷,级別ie;

状态山第l行

切亚“语句与KZY约東”F£

I2_Sue_192C9B231'

冲突。

语句已终止。

"

行賀毙响、

(1行受冒响)

(1行受影响)

(1行劭劈响)

LNyPPCStud«

rt」nfb-dbaJC匚/问口也jjfllr牡回

Sno

20L10001

2DLLQ001

78

69

20L1000Z

60

20LI0103

AL4Z

屉{上

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2