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

上传人:b****8 文档编号:22660858 上传时间:2023-02-05 格式:DOCX 页数:16 大小:400.45KB
下载 相关 举报
实验二通过SQL语句创建与管理数据表Word格式文档下载.docx_第1页
第1页 / 共16页
实验二通过SQL语句创建与管理数据表Word格式文档下载.docx_第2页
第2页 / 共16页
实验二通过SQL语句创建与管理数据表Word格式文档下载.docx_第3页
第3页 / 共16页
实验二通过SQL语句创建与管理数据表Word格式文档下载.docx_第4页
第4页 / 共16页
实验二通过SQL语句创建与管理数据表Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

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

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

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

3、删除操作完成

2、通过SQL语句创建表

用SQL语句在数据库Student_info中创建实验一中的Student表、Course表、SC表,结构如实验一中表2、表3、表4(即创建出空表即可)所示

、创建Student表

createtableStudent(

Snochar(8)primarykey,

Snamevarchar(8)notnull,

Sexchar

(2)notnull,

Birthsmalldatetimenotnull,

Classnochar(3)notnull,

Entrance_datesmalldatetimenotnull,

Home_addrvarchar(40)

、创建Course表

createtableCourse(

Cnochar(3)primarykey,

Cnamevarchar(20)notnull,

Total_periorsmallintcheck(Total_perior>

0),

Credittinyintcheck(Credit<

=6andcredit>

0)

、创建SC表

createtableSC(

Snochar(8)notnull,

Cnochar(3)notnull,

Gradetinyintcheck(Grade>

=0andGrade<

=100),

primarykey(Sno,Cno),

foreignkey(Sno)referencesStudent(Sno),

foreignkey(Cno)referencesCourse(Cno)

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

(1)添加和删除列

a.给Student表增加身高(以米单位)Stature列,类型为numeric(4,2),允许为空值,且身高值需小于3.0米。

altertableStudent

addStaturenumeric(4,2)

check(Stature<

=3.0andStature>

=0)

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

addSdeptchar

(2)notnull

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

addPostcodechar(6)

check(PostcodeLike'

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

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

、添加Stature列时就已知该列存在约束条件,若要删除该列,必须先删除约束条件,则首先必须先找出约束条件的约束名称。

以下有两种方法:

1、写入SQL语句找出

dropcolumnStature

2、运用企业管理器找出

a、打开Student表

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

c、约束名称显而易见

、其次删除Stature约束

dropconstraintCK__Student__Stature__1A14E395

、最后删除Stature列,完成

(2)添加和删除约束

a.在Student表添加约束:

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

addconstraintbirth1

check(Birth<

Entrance_date)

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

altertableSC

addconstraintgrade1

default('

0'

)forgrade

c.删除Grade列的默认值约束

锁定Grade列的约束名即可

dropconstraintgrade1

(grade1为约束名)

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

(1)插入数据

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

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

、向Student表中添加数据

insertintoStudentvalues('

20110001'

'

张虹'

男'

1992-09-01'

051'

2011-09-01'

南京'

CS'

200413'

);

20110002'

林红'

女'

1991-11-12'

北京'

100010'

20110103'

赵青'

1993-05-11'

061'

上海'

MS'

200013'

注意:

Sdept的类型为char

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

、向Course表中添加数据

insertintoCoursevalues('

001'

高数'

96'

6'

002'

C语言程序设计'

80'

5'

003'

JAVA语言程序设计'

48'

3'

004'

VisualBasic'

4'

、向SC表中添加数据

insertintoSCvalues('

20050001'

89);

78);

60);

80);

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

b.执行如下语句:

insertintoStudent(Sno,Sname,Sex)values(‘20101101’,’赵青’,’男’),该语句能成功执行吗?

为什么?

答:

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

Sdept'

c.执行如下语句:

insertintoscvalues(‘20110103’,’005’,80),该语句能成功执行吗?

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

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

(2)修改数据

a.使用T-SQL语句,将Course表中的课程号为’002’的学分改为4,总学时改为64。

updateCourse

setCredit=4

whereCno='

setTotal_perior=64

结果:

b.使用T-SQL语句,将SC表中的选修了‘002’课程的同学的成绩*80%。

updateSC

setGrade=Grade*0.8

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

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1