实验二通过SQL语句创建与管理数据表.docx
- 文档编号:6891058
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:14
- 大小:397.72KB
实验二通过SQL语句创建与管理数据表.docx
《实验二通过SQL语句创建与管理数据表.docx》由会员分享,可在线阅读,更多相关《实验二通过SQL语句创建与管理数据表.docx(14页珍藏版)》请在冰豆网上搜索。
实验二通过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); 结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 二通 SQL 语句 创建 管理 数据表