SQL数据库实验和参考答案
- 格式:doc
- 大小:205.50 KB
- 文档页数:40
实验一SQL语言及相关操作一、实验目的本实验的目的是使学生掌握如何在SQL Server Management studio中进行查询分析以及对数据库中的表和数据进行操作,加深对SQL和SQL语言相关操作理解。
熟练掌握数据查询、表的更新等操作方法。
二、实验时数4学时三、实验内容:(1)利用SQL语句进行简单查询和连接查询操作。
1.列出所有course的课程号、课程名和学分。
2.查询所有蒙古族学生的学号、姓名和所在学院。
3.在score表中显示平均成绩都高于85分的学生学号、课程号和成绩。
4.查询选修课称号为001或005且平均成绩大于等于75分学生的学号、课程号和成绩。
5.查询信息管理学院1991年出生的所有男生的信息。
6.查询所有学生的年龄。
7.查询所有姓王或姓黄的学生的姓名、生日和所在班级名称。
8.查询先修课程为”数据结构”的所有课程。
9.查询信息管理学院非汉族同学的学号、姓名、性别及民族。
10.查找选修了“操作系统”的学生学号、成绩和姓名。
11.查找至少选修了一门其直接先修课编号为004的课程的学生学号和姓名。
12.查找至少选修了学号为0800001的学生所选课程的学生学号和姓名。
10413.查询出生日期在1991年以后的学生的学号、姓名、籍贯和年龄。
14.在student表中查询学生的学号、姓名和平均成绩,并按照平均成绩的降序排列。
15.查找了选修了以“C语言程序设计”为其直接先修课的课程的学生学号、课程号和成绩。
16.在score表中查询平均成绩大于80的学生的学号、课程号和成绩,并先按照课程号的升序、再按照成绩的降序排列。
17.查找信息管理学院学生选课情况,显示学生姓名、课程名和成绩。
18.统计student表中的男女学生的人数。
19.查询成绩最高分的学生的学号、课程号和相应成绩。
20.查询选课少于3门的学生的学号及其选课的门数。
(2) 利用SQL语句进行表的管理等操作。
1.给class表中的classname字段添加唯一约束。
实验六SQL 查询一、实验目的:1.熟练掌握SELECT语句的语法格式2.掌握联接的几种方法3.掌握子查询的表示和执行4.能够对SELECT查询结果进行分组、排序及统计5.能够运用T-SQL语句对表进行数据的插入、修改、删除6.能够通过导入/导出向导进行数据的导入导出二、实验内容:利用实验四中的数据库做如下操作:1.在“学生表”中,找出性别为“男”的学生记录,字段包括“姓名”、“出生日期”和“专业”。
2.在“课程表”中,找出“课程名”中包含“计算机”三个字的课程。
3.在“成绩表”中,找出“课程编号”为“001”的课程成绩前三名学生。
4.在“成绩表”、“学生表”和“课程表”中,找出“课程编号”为“001”的课程成绩在[80,90]之间的学生的姓名、课程名和成绩。
5.在“学生表”中,找出“专业”为“计算机软件”、“电子商务”专业的学生信息。
6.统计“计算机应用基础”课程的平均分。
7.查找各门课程的修课人数。
8.在“成绩表”中,找出课程编号为“001”的这门课程的所有学生的分数以及最高分、最低分和平均分。
9.找出所有女生的“计算机应用基础”这门课的成绩,包括字段:姓名、课程名、成绩。
10.查找“成绩表”中,课程编号为“001”的成绩高于平均分的所有学生的学号、姓名、课程名和成绩。
11.查找“成绩表”中,高于各门课程平均分的学生信息。
12.查找“课程表”中,没有被学生修课的课程信息。
13.将“课程表”中的课程编号为“001”的学分增加1学分。
14.删除学号为“”学生的相关信息。
三、实验过程:启动“查询分析器”,在其文本窗口中输入相应的Transcat-SQL语句,分析并执行,观察输出结果。
1.Use 学生select 姓名,出生日期,专业 from 学生表 where 性别='男'2.use 学生select * from 课程表 where 课程名 like '%计算机%'3.use 学生select top 3 * from 成绩表 where 课程编号='001' order by 成绩 desc4.Use 学生select a.姓名,c.课程名,b.成绩 from 学生表 as a join 成绩表 as b on b.课程编号=001 and a.学号=b.学号 and b.成绩 between 80 and 90 join 课程表 as c on c.课程编号=b.课程编号5.use 学生select * from 学生表 where 专业 in ('计算机软件','电子商务')6.use 学生select avg(成绩)as 平均成绩 from 成绩表 as a join 课程表 as bon b.课程名='计算机应用基础' and b.课程编号=a.课程编号7.use 学生select 课程编号,count(学号)as 修课人数 from 成绩表 group by 课程编号8.use 学生select * from 成绩表 where 课程编号=001compute max(成绩),min(成绩),avg(成绩)9.use 学生select a.姓名,b.课程名,c.成绩 from 学生表 as a join 成绩表 as c on a.学号=c.学号 and a.性别='女'join 课程表 as bon b.课程编号=c.课程编号 and b.课程名='计算机应用基础'10.use 学生select a.学号,a.姓名,b.课程名,c.成绩 from 课程表 as b join 成绩表 as c on b.课程编号=c.课程编号 and c.课程编号=001 and c.成绩>(select avg(成绩) from 成绩表 where c.课程编号=001)join 学生表 as a on a.学号=c.学号11.use 学生select * from 成绩表 as a where 成绩>(select avg(成绩) from 成绩表 as b where a.课程编号=b.课程编号)12.use 学生select * from 课程表 where not exists(select * from 成绩表 where 成绩表.课程编号=课程表.课程编号)13.use 学生update 课程表 set 学分=学分+1 where 课程编号=00114.use 学生delete 成绩表 where 学号='20030101'。
示例1实验一实验名称:SQL语句的应用(6课时)一、实验目的通过使用SQL SERVER企业管理器建立表。
模式为人事表、客户表、销售表、销售明细表、产品表。
理解数据库模式的概念,理解主键约束、外键约束、UNIQUE约束和CHECK 约束。
通过SQL SERVER企业管理器建立表间的约束。
将得到的表生成脚本,保存。
二、实验环境是MS SQL SERVER 2000的中文客户端。
三、实验示例create table employee1(emp_no char(5) not null,constraint emp_nochk check(emp_no like '[E-F][0-9][0-9][0-9][0-9]'),emp_name char(10) not null,emp_sex char(1) not null,constraint emp_sexchk check(emp_sex in ('m','f')),emp_phone char (13) not null,constraint emp_phonechk check(emp_phone like '([0-9][0-9][0-9])[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]'), emp_add varchar(60) not null,emp_salary char(5) not null,constraint emp_salarychk check (emp_salary between 60000 and 80000))go四、实验内容与步骤1、建立五张表,每张表至少需要20条记录。
(1)/*员工人事表employee */(2)/*客户表customer */(3)/*销售主表sales */(4)/*销货明细表sale_item */(5)/*产品名称表product */2、建立表的同时创建表的约束。
sql实训答案【篇一:新sql——server实验练习答案】txt>答案上海师范大学计算机系目录第一部分企业管理器的使用 ....................................................................................................... .. 3试验一注册服务器 ............................................................................... 错误!未定义书签。
试验二创建数据库 ............................................................................... 错误!未定义书签。
试验三创建表 ....................................................................................... 错误!未定义书签。
实验四数据输入 ................................................................................... 错误!未定义书签。
实验五登录到数据库服务器 ............................................................... 错误!未定义书签。
第二部分 sql语言 ....................................................................................................... ................. 3 第二部分 sql语言 ....................................................................................................... .. (3)试验一数据库创建 ....................................................................................................... .......... 3 试验二创建表 ....................................................................................................... .................. 3 试验三创建数据完整性 ....................................................................................................... .. 5 试验四数据完整性试验 ....................................................................................................... .. 6 试验五索引 ....................................................................................................... .................... 10 试验六更新数据 ....................................................................................................... ............ 11 试验七 sql 查询语句 ....................................................................................................... .... 12 试验八视图 ....................................................................................................... .................... 15 试验九安全性控制实验 .......................................................................................................16 试验十存储过程 ....................................................................................................... ............ 17 试验十二触发器 ....................................................................................................... ............ 21 试验十二恢复技术 ....................................................................................................... ........ 25 试验十三事务 ....................................................................................................... ................ 26 试验十四锁 ....................................................................................................... .. (27)第一部分企业管理器的使用第二部分 sql语言试验一数据库创建目的:1掌握利用sql语言进行数据库的创建、维护。
实验四:管理SQL Server表数据一、实验目的熟悉数据表结构及使用特点;熟悉使用Management Stuio界面方式管理数据表数据;熟悉使用T-SQL语句管理数据表数据。
二、实验环境已安装SQL Server 2005 企业版的计算机(13台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求了解SQL Server数据表数据的管理方法;了解SQL Server数据类型;完成实验报告(部分题只需给出关键语句)。
五、实验内容及步骤以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:向各个数据表中插入如下记录:学生信息表(student)课程信息表(course)选课信息表(sc)insert into student.dbo.sc values('20051501','1',75)insert into student.dbo.course values('1','数据库','5',4)insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS') 2.修改CS系姓名为“李勇”的学生姓名为“李咏”;update studentset Sname='李咏'where Sname='李勇'3.修改课程“数据处理”的学分为3学分;3.update courseset Ccredit=3where Cname ='数据处理'4.将选修课程“1”的同学成绩加5分;4.update scset Grade =Grade+5where Cno='1'5.将选修课程“大学英语”的同学成绩加5分;update scset Grade=Grade+5from course,scwhere o=o and ame='大学英语'6.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;update studentset Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA'where Sno='200515010'7.修改借书证号为2005001的学生记录重新设置:名字为王婧婧、专业为信息管理、借书量增加5本;(因为无些相关的数据表帮无法实现)8.删除数据表student中无专业的学生记录;deletefrom studentwhere Sdept is null9.删除数据表student中计算机系年龄大于25的男同学的记录;deletefrom studentwhere Ssex='男' and Sage>25 and Sdept='CS'10.删除数据表course中学分低于1学分的课程信息;deletefrom coursewhere Ccredit<1实验五:数据库单表查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件表达式和使用方法;3.掌握GROUP BY 子句的作用和使用方法;4.掌握HAVING子句的作用和使用方法;5.掌握ORDER BY子句的作用和使用方法。
实验三:创建及管理数据表1、创建表依据数据表的结构创建相对应的数据表,表结构如下所示; 学生信息表(student )CREATE (sno char (9) PRIMARY KEY , sname char (8) NOT NULL, ssex char(2), sage int ,sdept varchar (20) )课程信息表(course )CREATE (cno char (4) PRIMARY KEY , cname varchar (20) NOT NULL, cpno char (4), ccredit int )选课信息表(sc )CREATE TABLE sc(sno char(9),cno char(4),grade int,Constraint PK_sno PRIMARY KEY(sno,cno))2.修改表结构1)在表student中增加新字段“班级名称(sclass)”字符类型为varchar(10);use studentALTER TABLE studentAdd sclass nvarchar(10)2)在表student中删除字段“班级名称(sclass)”;use studentALTER TABLE studentDrop column sclass3)修改表student中字段名为“sname”的字段长度由原来的6改为8;use studentALTER TABLE studentALTER COLUMN sname char(8)4)修改表student中ssex字段默认值为‘男’;use studentALTER TABLE studentadd default'男'for ssex5)修改表course中cname字段为强制唯一性字段;use studentALTER TABLE courseAdd constraint ix_course unique (cname)6)修改表sc中grade字段的值域为0-100;use studentALTER TABLE scAdd constraint CK_grade CHECK(grade between 0 and 100)7)删除数据表course的唯一性约束;use studentALTER TABLE coursedrop ix_course。
(1) 查找有销售记录的客户编号、名称和订单总额。
命令:SELECT a.CustomerNo,CustomerName, sum(quantity*price) orderSumFROM OrderMaster a,OrderDetail b,Customer cWHERE b.orderNo=a.orderNo AND c.CustomerNo=a.CustomerNoGROUP BY a.CustomerNo,CustomerNameORDER BY a.CustomerNo,orderSum DESC(2) 在订单明细表中查询订单金额最高的订单。
命令:SELECT top 1 orderNo,sum(quantity*price)订单金额FROM OrderDetailGROUP BY orderNoORDER BY 订单金额DESC(3) 查询没有订购商品的客户编号和客户名称。
命令:SELECT CustomerNo,CustomerNameFROM CustomerWHERE CustomerNo NOT IN (SELECT CustomerNo FROM OrderMaster)(4) 找出至少被订购3次的商品编号、订单编号、订货数量和订货金额,并按订货数量的降序排序输出。
命令:SELECT a.productNo,orderNo,quantity,(quantity*price) moneyFROM OrderDetail a,(SELECT productNoFROM OrderDetailGROUP BY productNoHA VING COUNT(*)>=3) bWHERE a.productNo =b.productNoORDER BY a.productNo,quantity DESC被订购三件以上的……SELECT b.ProductNo,orderNo,quantity,orderSum=quantity*priceFROM OrderDetail b,(SELECT ProductNo FROM(SELECT ProductNo,sum(quantity)SQfrom OrderDetail GROUP BY ProductNo)aWHERE a.SQ>3)cWHERE b.ProductNo=c.ProductNoORDER BY b.quantity DESC(5) 使用子查询查找32M DRAM的销售情况,要求显示相应的销售员的姓名、性别,销售日期、销售数量和金额,其中性别用“男”、“女”表示。
数据库SQL实验操作答案1、创立数据库:创立一个教学管理数据库,以自己的名字拼音首字母+下划线+SC作为库名〔如名字叫张三,那么:ZC_SC〕,〔1〕确定数据库名称;数据库用于学生管理,命名为如ZS_SC〔2〕确定数据库的位置;要求:数据文件和日志文件分别存储在E盘自己的目录下。
〔3〕确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。
〔4〕确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。
请利用查询分析器〔Query Analyzer〕,使用SQL语句指定参数创立数据库,给出实现代码和截图。
实现代码及截图样例: SQL语句: create database CYR_SC on primary ( name='CYR_SC_DATA', filename='E:\\CYR_SC_DATA.MDF', size=30MB, filegrowth=20% ) log on ( name='CYR_SC_LOG',filename='E:\\CYR_SC_LOG.LDF', size=3mb, filegrowth=1mb )……………查询分析器执行情况: SQL语句及执行结果截图显示 2、创立根本表:〔注意:请在表名前加上自己的姓名拼音的首字母,主键前加上自己的姓名拼音的首字母,例如张三为ZC_〕其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。
创立:student表(学生信息表)、course表〔课程信息表)、teacher表〔教师信息表)、student _course表〔学生选课成绩表)、teacher_course表〔教师上课课表〕等。
请利用查询分析器,使用SQL语句将下面各表建立到教学管理数据库中。
写出SQL语句〔注意级联删除设置〕,查看各数据表之间的关系,画出实体关系图〔ER图〕。
实验三用T-SQL编辑修改数据库数据一、实验目的熟练掌握在查询分析器中执行INSERT,UPDATE,DELETE语句来实现数据的添加、修改、删除等操作。
二、操作示例1.使用INSERT语句向表中添加数据。
1)向mydatabase数据库的kcxxb表添加下列新记录(插入所有列):use mydatabasegoinsert kcxxb values (‘046110’,‘多媒体应用技术’,70,4)select * from kcxxb --显示结果2)向xsxxb表添加记录(插入部分列):use mydatabasegoinsert xsxxb (xh,xm,csrq,address)values('04651020','黄小烽','1983-7-6','40-203')select * from xsxxb --查询显示结果3)创建一个与xsxxb表结构一样的空表aa,并把xsxxb表中性别(xb)列为“女”的记录添加到aa表中。
并查看aa表中的信息。
use mydatabasegoselect * into aa from xsxxb where 1=2 --1=2是永远为假的条件。
insert aa select * from xsxxb where xb= '女'select * from aa --查询显示结果2.UPDATE语句修改数据1)将xscjb表中的成绩(grade)减少3分。
USE mydatabasegoUPDATE xscjb SET grade=grade-32)将kcxxb表中课程名(kcm)为“哲学”的课时(ks)改为54。
Use mydatabaseGoUpdate kcxxb set ks=72 where kcm= '哲学' 3.DELETE语句删除记录1)删除aa表中出生日期(csrq)在1985年以后的记录。
数据库实验总汇二、使用SQL Server 工具在管理数据库系统和运行SQL查询的两个主要工具是企业管理器和查询分析器三、实验目的1.熟悉数据库的交互式SQL工具。
2.熟悉通过SQL对数据库进行操作。
3.完成上机练习。
四、实验内容(打※为选做题)Part A1.使用CREATE语句创建数据库2. 使用CREATE语句创建基本表3.更改基本表的定义,增加列,修改列的数据类型。
4.创建表的索引,取消表的索引1、数据库的建立使用SQL 语句建立关系数据库schooldemo2、基本表的建立在数据库schooldemo下,使用SQL 语句建立关系数据库表:人员表PERSON(Pno,Pname, Page),房间表ROOM(Rno,Rname,Rarea),表PR(Pno,Rno,Date).其中,表PERSON :Pno(CHAR(8),主码,非空,唯一),Pname(CHAR(20),非空),Page(INT);表ROOM:Rno(CHAR(8),主码,非空,唯一),Rname(CHAR(20)),Rarea(FLOAT (10));表PR:Pno(CHAR(8),非空,唯一),Rno(CHAR(8),非空,唯一),Date (DATETIME);(三个表之间有联系)3、更改基本表的定义,增加列,删除列,修改列的数据类型。
更改表PERSON,增加属性Ptype(类型是CHAR ,长度为10),把表ROOM中的属性Rname的数据类型改为长度为40。
4、创建表的索引,取消表的索引为ROOM表创建按Rno降序排列的索引创建PERSON表按Pname升序排列的唯一性索引取消PERSON表Pname升序索引5、删除表ROOM实验过程(1.a)1、数据库的建立使用SQL 语句建立关系数据库schooldemocreate database schooldemoon(name=schooldemo,filename='e:\123\school_data.mdf',size=5mb,maxsize=15mb,filegrowth=10%)log on(name=schooldemo_log,filename='e:\123\schooldemo.ldf',size=5mb,maxsize=15mb,filegrowth=4mb)2、基本表的建立在数据库schooldemo下,使用SQL 语句建立关系数据库表:人员表PERSON(Pno,Pname, Page),房间表ROOM(Rno,Rname,Rarea), 表PR(Pno,Rno,Date).其中,表PERSON :Pno(CHAR(8),主码,非空,唯一),Pname(CHAR(20),非空),Page(INT);表ROOM:Rno(CHAR(8),主码,非空,唯一),Rname(CHAR(20)),Rarea(FLOAT(10));表PR:Pno(CHAR(8),非空,唯一),Rno(CHAR(8),非空,唯一),Date(DATETIME);(三个表之间有联系)create table person(pno char (8)primary key,pname char (20),page int);create table room(rno char (8) primary key,rname char(20),rarea float(10));create table pr(pno char (8),rno char (8),date datetime,primary key(pno,rno),foreign key(pno) references person(pno),foreign key(rno) references room(rno));3、更改基本表的定义,增加列,删除列,修改列的数据类型。
数据库实验和参考答案上机实验七1.声明一个字符串型的局部变量,并对其赋值:‘我的变量’,然后显示出此值。
declare @a char(10)set @a='我的变量'--select @a as 变量的值print @a2.编程实现如下功能:1)声明两个整形的局部变量:@i1和@i2,对@i1赋初值:10,@i2的值为:@i1乘以5,再显示@i2的结果值。
declare @i1 int,@i2 intset @i1=10set @i2=@i1*5print @i22)用While语句实现5000减1,减2,……一直减到50的计算,并显示最终的结果。
declare @sum int,@i intset @sum=5000set @i=1while(@i<=50)beginset @i=@i+1endprint @sum3)输出100以内的素数。
declare @i smallint,@jsmallint,@k smallintset @i=2while(@i<=100)beginset @k=0set @j=2while(@j<@i)beginif(@i%@j=0)beginset @j=@Iendset @j=@j+1endif @k=0print @Iset @i=@i+1end4)将字符数在20以内的字符串变量C的值逆序输出。
要求输出界面为:declare @i varchar(20),@j int,@k varchar(20)set @j=1set @k=''while @j<=len(@i)beginset @k=substring(@i,@j,1) set @j=@j+1endprint '字符串C的值:'+@iprint 'C的逆序字符串:'+@k5)从SC表中查询所有学生的选课成绩情况,分别统计各分数段人数,并输出统计结果。
输出格式为:缺考:人<60:人60-69:人70-79:人80-89:人90-100:人select 成绩=casewhen 成绩is null then '缺考:' when 成绩<60 then '<60'when 成绩>=60 and 成绩<70 then '60-69:'when 成绩between 70 and 79 then '70-79:'when 成绩between 80 and 89 then '80-89:'when 成绩between 90 and 100 then '90-100:'endinto ss1from scselect 成绩分数段,count(*) 人数from ss1group by 成绩上机实验八3.创建满足下述条件的存储过程:1)创建查询每个学生的修课学分的存储过程,要求列出学生学号及总学分。
create procedure t1_1asselect 学号,sum(学分) 总学分from sc ,course where sc.课程号=course.课程号group by 学号goexec t1_12)创建查询个学生的学号、姓名、课程号、课程名、课程学分的存储过程,将学生所在的系作为输入参数,执行此存储过程,并分别指定一些不同的输入参数值。
create proc t1_2@szx char(20)asselect student.学号,姓名,course.课程号,课程名,学分from student, sc ,course where sc.学号=student.学号and course.课程号=sc.课程号and 所在系=@szxexec t1_2 '计算机系'exec t1_2 '信息系'3)创建计算1+2+3+……一直加到指定值的结果的存储过程,要求:计算的终止值由输入参数决定,计算结果由输出参数表示。
实验如下数据并记下结果:1+2+3+ (150)1+2+3+ (500)create proc t1_3@in1 int,@out int outputasdeclare @sum intdeclare @n intset @n=1beg:if(@n<=@in1)beginset @sum=@sum+@nset @n=@n+1goto begendset @out=@sumdeclare @i1 intexec t1_3 150,@i1 outprint @i1或:create proc t1_3@in1 int,@in2 int ,@out int outputasdeclare @sum intdeclare @n intset @n=@in1set @sum=0while(@n<=@in2)beginnset @n=@n+1endset @out=@sumgodeclare @i1 int,@i2int,@i3 intset @i1=1set @i2=500exec t1_3 @i1,@i2 ,@i3 out--print @i3select @i2 自然数n,@i3 自然数之前n项和4)创建“输出任意区间内的素数并统计区间内素数的个数”的存储过程,区间的上、下界由输入参数决定。
create proc ssgc@in1 int,@in2 intasDECLARE @S SMALLINT,@I SMALLINT,@j SMALLINT,@n smallintSET @I=@in1WHILE (@I<=@in2) BEGINSET @S=0set @j=2while (@j<@i)beginif @i%@j=0BEGINset @s=1set @j=@iENDendif @s=0 and @i!=1beginprint @iset @n=@n+1endSET @I=@I+1ENDprint '素数的个数为:'+str(@n)exec ssgc 20,304.在student表中定义一个更新和插入触发器,在此触发器中保证成绩在0~100范围内。
create trigger rig1on scasif exists(select * from sc where 成绩>100 or 成绩<0)rollbackelsebeginselect * from scend--insert into sc(学号,课程号,成绩) values('0412101','c04',90)update sc set 成绩=成绩+10--update sc set 成绩=成绩+12--insert into sc(学号,课程号,成绩) values('0531102','c01',110) 5.删除sc 表中对课程号的外码引用约束,然后在此表上定义一个保证课程号在course表的课程号范围内的插入触发器。
--alter table sc--drop constraint fk_sc_coursecreate trigger rig4on scfor insertasif exists(select 课程号from inserted--where 课程号not like'c0[123456]')where 课程号not in (select 课程号 from course))rollback--insert into sc(学号,课程号,成绩) values('0531102','c06',70)--insert into sc(学号,课程号,成绩) values('0531102','c9',70)--update sc set 课程号='c09' where 学号='0531102'上机实验三1.在“学生管理数据库”中用查询分析器创建p82页的课程数据表(表名为kcb),并输入数据内容。
2.用查询分析器在student表中增加一个字段:“电话号码”,字符型,并设置默认值为“1111111”。
3.用查询分析器删除kcb表的主键4.用企业管理器或查询分析器修改course表,设置约束:学时>=学分*16。
5.用查询分析器修改学生管理数据库中的students_dat文件增容方式为一次增加3MB.6.将“学生管理数据库”更名为“学生管理”。
7.将“学生管理”数据库备份到外存中。
8.将“学生管理”数据库的数据导出为excel文件,并保存在外存中。
9.为course表中的课程名建立唯一性索引。
10.将“学生管理”数据库从系统中分离出来。
11. 将“学生管理”数据库附加到企业管理器中。
上机实验四1.分别查询学生表和学生修课表中的全部数据。
2.查询计算机系的学生的姓名、年龄。
3.查询选修了c01号课程的学生的学号和成绩。
4.查询成绩在70到80分之间的学生的学号、课程号和成绩。
5.查询计算机系年龄在18到20之间且性别为“男”的学生的姓名、年龄。
6.查询0412101号学生的修课情况。
7.查询c01号课程成绩最高的分数。
8.查询学生都选修了哪些课程,要求列出课程号。
9.查询Northwind数据库中orders 表的OrderlD、CustomerID和OrderDate,并将最新的定购日期(OrderDate)列在前边。
10.查询Northwind数据库中orders 表的ShipCountry列以B,C,D,F 开始且第三个字符为“a”的OrderlD、CustomerID和ShipCountry的信息。
11.查询Northwind数据库中orders 表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字母是“a”的OrderlD、CustomerlD和ShipCountry的信息。
12.查询学生数据库中学生的最大年龄和最小年龄。
13.查询修了c02号课程的所有学生的平均成绩、最高成绩和最低成绩。
14.统计每个系的学生人数。
15.统计每门课程的修课人数和最高分16.统计每个学生的选课门数,并按选课门数的递增顺序显示结果。
17. 查询哪些课程尚未考试。
18.列出计算机系年龄最大者及次大者的姓名。
上机实验六32.查询哪些课程没有人选,要求列出课程号和课程名。
33. 查询有考试成绩的所有学生的姓名、修课名称及考试成绩,要求将查询结果放在一张新的永久表(假设新表名为new sc)中,新表的列名分别为:Student_Name,Course_ Name,Grade。