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

上传人:b****6 文档编号:15886446 上传时间:2023-07-08 格式:DOCX 页数:16 大小:388.83KB
下载 相关 举报
实验二通过SQL语句创建与管理数据表.docx_第1页
第1页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第2页
第2页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第3页
第3页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第4页
第4页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第5页
第5页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第6页
第6页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第7页
第7页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第8页
第8页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第9页
第9页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第10页
第10页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第11页
第11页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第12页
第12页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第13页
第13页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第14页
第14页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第15页
第15页 / 共16页
实验二通过SQL语句创建与管理数据表.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

实验二通过SQL语句创建与管理数据表

实验二

一、实验目的

(1)掌握查询分析器的使用。

(2)掌握通过SQL语句创建表的方法。

(3)掌握通过SQL语句修改表结构的方法。

(4)掌握通过SQL语句添加、修改、删除表数据的方法。

二、实验内容

1、通过SQL语句删除表

用SQL语句在数据库Student_info中删除实验一创建的Student表、Course表、SC表。

1、选择Student_info数据库,在该数据库环境中“新建查询”,然后完成删除操作

2、分别填写如下SQL语言

、droptableStudent

、droptableCourse

、droptableSC

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,不允许为空值。

altertableStudent

addSdeptchar

(2)notnull

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

altertableStudent

addPostcodechar(6)

check(PostcodeLike'[1-9][0-9][0-9][0-9][0-9][0-9]')

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

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

以下有两种方法:

1、写入SQL语句找出

altertableStudent

dropcolumnStature

2、运用企业管理器找出

a、打开Student表

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

c、约束名称显而易见

、其次删除Stature约束

altertableStudent

dropconstraintCK__Student__Stature__1A14E395

、最后删除Stature列,完成

altertableStudent

dropcolumnStature

(2)添加和删除约束

a.在Student表添加约束:

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

altertableStudent

addconstraintbirth1

check(Birth

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

altertableSC

addconstraintgrade1

default('0')forgrade

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

锁定Grade列的约束名即可

altertableSC

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');

insertintoStudentvalues('20110002','林红','女','1991-11-12','051','2011-09-01','北京','CS','100010');

insertintoStudentvalues('20110103','赵青','男','1993-05-11','061','2011-09-01','上海','MS','200013');

注意:

Sdept的类型为char

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

、向Course表中添加数据

insertintoCoursevalues('001','高数','96','6');

insertintoCoursevalues('002','C语言程序设计','80','5');

insertintoCoursevalues('003','JAVA语言程序设计','48','3');

insertintoCoursevalues('004','VisualBasic','48','4');

、向SC表中添加数据

insertintoSCvalues('20050001','001',89);

insertintoSCvalues('20110001','001',89);

insertintoSCvalues('20110001','002',78);

insertintoSCvalues('20110001','003',89);

insertintoSCvalues('20110002','002',60);

insertintoSCvalues('20110103','001',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='002'

updateCourse

setTotal_perior=64

whereCno='002'

结果:

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

updateSC

setGrade=Grade*0.8

whereCno='002'

结果:

(3)删除数据

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

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

删除约束:

altertableSC

dropconstraintFK__SC__Cno__1920BF5C

删除记录:

deletefromCourse

whereCnoin

(selectCnofromCourse

whereCname='c语言程序设计')

结果:

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

deletefromSC

结果:

说明:

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

同第4题

所示步骤相同,

insertintoSCvalues('20050001','001',89);

insertintoSCvalues('20110001','001',89);

insertintoSCvalues('20110001','002',78);

insertintoSCvalues('20110001','003',89);

insertintoSCvalues('20110002','002',60);

insertintoSCvalues('20110103','001',80);

结果:

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

当前位置:首页 > 总结汇报 > 实习总结

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

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