收藏 分销(赏)

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

上传人:二*** 文档编号:4511362 上传时间:2024-09-26 格式:DOCX 页数:9 大小:330.17KB 下载积分:5 金币
下载 相关 举报
数据库实验二-通过SQL语句创建与管理数据表.docx_第1页
第1页 / 共9页
本文档共9页,全文阅读请下载到手机保存,查看更方便
资源描述
实验二 通过SQL语句创建与管理数据表 一、实验目的 (1)掌握查询分析器的使用。 (2)掌握通过SQL语句创建表的方法。 (3)掌握通过SQL语句修改表结构的方法。 (4)掌握通过SQL语句添加、修改、删除表数据的方法。 二、实验内容 1、通过SQL语句删除表 用SQL语句在数据库StudentStudent_info中删除实验一创建的studentStudent表、courseCourse表、SC表。 drop table SC_20103322 drop table Student_20103322 drop table Course_20103322 2、通过SQL语句创建表 用SQL语句在数据库StudentStudent_info中创建实验一中的studentStudent表、courseCourse表、SC表,结构如实验一中表2、表3、表4所示 表2: create table Student_20103322 ( Sno char(8) not null primary key, --学号 Sname varchar(8) not null, --学生姓名 Sex char(2) not null default '男', --性别 Birth smalldatetime not null, --出生年月 Classno char(3) not null, --班级号 Entrance_date smalldatetime not null, --入学时间 Homeaddr varchar(40) not null, --家庭住址 ) 表3: create table Course_20103322 ( Cno char(3) not null primary key, --课程号 Cname varchar(20) not null, --课程名称 Total_perior smallint, --总学时 Credit tinyint, --学分 check (Total_perior>3 and Credit>0 and Credit<=6) ) 表4: create table SC_20103322 ( primary key(Sno,Cno), Sno char(8) not null foreign key references Student_20103322(Sno), --学号 Cno char(3) not null foreign key references Course_20103322(Cno), --课程号 Grade tinyint, --成绩 check(Grade>=0 and Grade<=100) ) 3、通过SQL语句管理表结构 (1)添加和删除列 a. 给studentStudent表增加身高(以米单位)statureStature列 ,类型为numeric(4,2),允许为空值,且身高值需小于3.0米。 alter table Student_20103322 add Stature numeric(4,2), constraint ck_Stature check(Stature<3.0) b. 给studentStudent表增加所在系Sdept列,字符型,长度2,不允许为空值。 alter table Student_20103322 add Sdept char(8) not null c. 给studentStudent表增加邮政篇码Postcode列,字符型,长度为6,可以为空,若不为空时,则要求其值只能出现数字,不能是其它字符。 alter table Student_20103322 add Postcode char(6), constraint ck_ps check(Postcode like '[0-9][0-9][0-9][0-9][0-9][0-9]') d.删除studentStudent表中身高statureStature列。 alter table Student_20103322 drop ck_Stature alter table Student_20103322 drop column Stature (2)添加和删除约束 a.在studentStudent表添加约束:入学时间必须在出生年月之后。 alter table Student_20103322 add constraint ck_data check(Birth<Entrance_date) b.给SC表的成绩gradeGrade列增加默认值约束,默认值为0. alter table SC_20103322 add constraint ck_grade default(0) for Grade c.删除gradeGrade列的默认值约束 alter table SC_20103322 drop ck_grade 4、 通过SQL语句添加、修改、删除表中数据 (1)插入数据 a.studentStudent表、courseCourse表、SC表的记录见实验一的表5、表6、表7,其它数据可自行添加。要求studentStudent表和SC表中数据包括了每位同学自己的学号。 insert into Student_20103322 values ('20110001','张虹','男','1992-09-11','051','2011-09-01','南京','计算机系','200413') insert into Student_20103322 values ('20110002','林红','女','1991-11-12','051','2011-09-01','北京','计算机系','100010') insert into Student_20103322 values ('20110103','赵青','男','1993-05-11','061','2011-09-01','上海','软件工程','200013') insert into Course_20103322 values ('001','高数','96','6') insert into Course_20103322 values ('002','C语言程序设计','80','5') insert into Course_20103322 values ('003','JAVA语言程序设计','48','3') insert into Course_20103322 values ('004','Visual Basic','48','4') insert into SC_20103322 values ('20110001','001','89') insert into SC_20103322 values ('20110001','002','78') insert into SC_20103322 values ('20110001','003','89') insert into SC_20103322 values ('20110002','002','60') insert into SC_20103322 values ('20110103','001','80') b.执行如下语句:insert into studentStudent(snoSno,snameSname,sexSex) values(‘20101101’,’赵青’,’男’),该语句能成功执行吗?为什么? 不能执行。因为有不允许为Null的列存在。 c. 执行如下语句:insert into sc values(‘20110103’,’005’,80),该语句能成功执行吗?为什么? 不能执行。因为Course_20103322表中的课号只出现了001、002和003,又因为SC_20103322表中Cno是外键,只能出现Course_20103322中Cno中的值,所以不能执行。 (2)修改数据 a.使用T-SQL语句,将courseCourse表中的课程号为’002’的学分改为4,总学时改为64。 update Course_20103322 set Credit=4,Total_perior=64 where Cno='002' b.使用T-SQL语句,将SC表中的选修了‘002’课程的同学的成绩*80%。 update SC_20103322 set Grade=Grade*0.8 where Cno='002' (3)删除数据 a. 使用T-SQL语句,删除选修了“C语言程序设计”的学生的选课记录。 delete from SC_20103322 where Cno='002' b. 使用T-SQL语句,删除所有的学生选课记录。 delete from SC_20103322 说明:删除后,请重新插入SC表中的记录。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服