天津理工大学数据库实验复杂SQL数据操作

合集下载

天津理工大学计算机专业数据库实验二

天津理工大学计算机专业数据库实验二

实验报告学院(系)名称:计算机与通信工程学院姓名范学号2009 专业计算机科学与技术班级中加4班实验项目数据库控制与编程课程名称数据库系统概论课程代码实验时间2011年11月29日实验地点主校区7—219批改意见成绩教师签字:一.实验目的以一种开发环境为例,使学生初步掌握通过编程的方式对数据库进行操作,为进行数据库课程设计做准备。

二.实验工具软硬件环境编写访问数据库的应用程序来对数据库进行各种数据操作,编程工具由导师指定,学生可以使用指导老师指定的工具,也可自己选择编程工具。

软件环境:Windows 2000MS SQL Server硬件环境:P4 2.4GHz 256内存三.实验内容和要求所有的SQL操作均在自己建立的TEMP数据库里进行,根据以下要求认真填写实验报告,并且提交源程序,保证可正确编译运行。

使用SQL对数据进行完整性控制,用实验验证:当操作违反了完整性约束条件的时候,系统是如何处理的。

熟悉存储过程的建立及使用,熟悉带输入参数和输出参数的存储过程。

I.使用SQL对数据进行完整性控制,用实验验证:当操作违反了完整性约束条件的时候,系统是如何处理的。

II.熟悉存储过程的建立及使用,熟悉带输入参数和输出参数的存储过程。

a)查询学生表中的所有学生,并实现调用。

b)修改学号为@sno学生的姓名,性别,年龄,系别,并实现调用。

c)向学生表中插入学生,并实现调用。

d)查询姓名为@sname选修的数据库课程的成绩,并实现调用。

e)查询选修了课程名为@cname并且成绩高于该门课程平均分的学生学号和成绩,并实现调用。

III.利用指定的编程语言完成一个简单程序,要求具有对数据的增加、修改和删除操作;基于一个给定的java应用程序,熟悉掌握建立ODBC和利用ODBC来凝结数据库的编程方法,建立一个应用程序,具有向学生、课程、选课表增加修改删除记录的功能,选取其中一个功能用存储过程实现。

需要接取程序运行界面。

天津理工大学数据库(李玉坤)实验四

天津理工大学数据库(李玉坤)实验四

实验报告学院(系)名称:计算机与通信工程学院姓名吴学号201 专业计算机科学与技术班级二班实验项目数据库设计与查询优化课程名称数据库系统概论课程代码0660096实验时间2016/12/8 实验地点7-216批改意见成绩教师签字:一、实验目的⏹了解教材中介绍的ER图等数据库设计方法⏹了解基本的数据库优化方法二、实验的软硬件环境软件环境:Windows 2000 MS SQL Server硬件环境:P4 2.4GHz 256内存三、实验内容考虑单表查询、连接查询、嵌套查询3种SQL操作,从以下方面进行优化,并分析优化结果。

(1)单表查询。

比较建立索引以后的查询效率⏹查询student表中所有学生信息所需要的时间⏹对于student1表,不按照姓名创建索引,查询某个姓名,所需要的时间。

⏹对于student1表,按照姓名创建索引,查询某个姓名,所需要的时间。

⏹对于student1表,不按照系别创建索引,查询某个系所有学生,所需要的时间。

⏹对于student1表,按照系别创建索引,查询某个系所有学生,所需要的时间。

查询student表中所有学生信息所需要的时间对于student1表,不按照姓名创建索引,查询某个姓名,所需要的时间对于student1表,按照姓名创建索引,查询某个姓名,所需要的时间对于student1表,按照系别创建索引,查询某个系所有学生,所需要的时间对于student1表,不按照系别创建索引,查询某个系所有学生,所需要的时间(2)连接查询查询选修某门课程的学生姓名。

比较在student、course、SC三个表建立索引和不建立索引的情况不建立索引的情况建立索引的情况(3)针对不同属性查询⏹比较两个查询“查询某门课程选修的学生”和“某个学生选修的课程”的查询时间效率,并分析原因(两个查询均用连接查询、嵌套查询分别实现).⏹查询某门课程选修的学生(连接查询)查询某门课程选修的学生(嵌套查询)(4)数据库概念模式设计(选作)⏹自己选定一种场景或一个应用问题,为之设计数据库的概念模式(ER图),要求不少于6个实体,实体之间有一对多、多对多关系。

天津理工大学计算机专业数据库实验一

天津理工大学计算机专业数据库实验一

实验报告学院(系)名称:计算机与通信工程学院姓名范学号2009 专业计算机科学与技术班级中加4班实验项目数据库创建与交互式SQL数据操作课程名称数据库系统概论课程代码0660096实验时间2011年10月19日实验地点主校区7—219批改意见成绩教师签字:一、实验目的二、实验的软硬件环境软件环境:Windows 2000MS SQL Server硬件环境:P4 2.4GHz 256内存三、实验内容1.熟悉SQL2008基本操作:包括服务器的启动、关闭;数据的备份、恢复;交互式SQL 窗口的打开;基本的可视化数据操作。

2.创建数据库,建立基本表,用SQL语句建立所需要的基本表,不得少于三个,并插入元组(课本第三章3.3节例1-7,全做)。

3.基本表的修改与删除(课本第三章3.3节例8-12,全做)。

4.索引的建立与删除(课本第三章3.3节例13-15,全做)5.针对单个基本表的查询。

(课本第三章3.4节例1-例32,任选6个查询,覆盖单条件、多条件、去除重复行、使用别名、排序子句的使用、在目标列中包含一些计算值以及分组子句的使用等。

6.多表连接查询(课本第三章3.4节例33-例38,任选5个)。

7.嵌套查询(课本第三章3.4节例39-例47,任选5个)。

8.集合查询(课本第三章3.4节例48-例52,任选3个)。

9.复杂更新操作,带子查询的插入、修改和删除(选做)10.个人自拟题目实验前准备工作:供应商-工程-零件”应用场景概念模型(用E-R图表示)概念模型转换成关系模型:S:主码:SNO;外码:SNO数据类型和约束条件:SNO CHAR(3),SNAME VARCHAR(5),STAT SMALLINT,CITY CHAR(20) P:主码: PNO外码:PNO数据类型和约束条件:PNO CHAR(3),PNAME VARCHAR(20),COLOR CHAR(2),WEIGHT_ SMALLINT,J:主码:JNO外码:JNO数据类型和约束条件:JNO CHAR(3),JNAME VARCHAR(20),CITY CHAR(5) SPJ:数据类型和约束条件:SNO CHAR(3),PNO CHAR(3),JNO CHAR(3),QTY INT,四、实验过程及结果实验所基于的表供应商表S(SNO,SNAME,STAT,CITY);零件表P(PNO,PNAME,COLOR,WEIGHT);工程项目表J(JNO,JNAME,CITY);供应情况表SPJ(SNO,PNO,JNO,QTY);1.打开SQL Server 2008登录如图:使用默认设置单击连接登录2.新建数据库:自己输入一个数据库名称3.单机系统的新建查询开始进行各类查询操作:4.使用SQL语言在数据库fanjixiang中创建表:供应商表SCREATE TABLE S(SNO CHAR(3) PRIMARY KEY , //以SNO作为主键SNAME V ARCHAR(50),STAT SMALLINT,CITY CHAR(20));单机执行后刷新表刷新后如图表S建立成功!依次创建零件表P 工程项目表J 供应情况表SPJ所有表建好后如图一共有四个表表的建立和删除建立student表删除表student5.向表中添加元组向S表中插入元素时,若重复插入,由于设置了主键,所以会报错所有元素插入完后右键单击表刷新,查看表S中的内容说明所有都插入成功~6.删除,修改表中的元祖的值以P表为例P表给P表增加一新列名为"Product_Date",执行以下代码效果图删除PNO="P4"的行,执行刷新之后的效果图为:PNO="P4"的行已删除将P3的名称改为"螺丝刀",执行以下代码之后效果如图最后完善P表如图7.J表,8.SPJ表如图9.索引的建立与删除(以P,J表为例)P表中建立以WEIGTH_为降序的聚簇索引查看索引文件中有在J表中建立以JNO降序的唯一索引执行代码为查看索引文件中有是唯一的。

数据库SQL实验报告__数据库的基本操作

数据库SQL实验报告__数据库的基本操作

数据库SQL实验报告__数据库的基本操作一、实验目的1.理解数据库SQL语言的基本操作;2.学会使用数据库SQL语言进行数据的增删改查操作。

二、实验环境1. 操作系统:Windows 10;2.数据库管理系统:MySQL;3. 开发工具:Navicat for MySQL。

三、实验内容本次实验主要涉及数据库的基本操作,包括创建数据库、创建数据表、插入数据、更新数据、删除数据以及查询数据等。

1.创建数据库步骤一:打开Navicat for MySQL,并点击左上角的“新建连接”按钮;步骤二:填写连接信息,包括主机、端口、用户名和密码,并点击“连接”按钮;步骤三:点击“新建数据库”按钮,填写数据库的名称,并点击“确定”按钮。

2.创建数据表步骤一:在已连接的数据库上点击右键,选择“新建数据表”;步骤二:填写数据表的名称,并点击“确定”按钮;步骤三:填写数据表的字段信息,包括字段名、数据类型、长度、索引、主键等,并点击“确定”按钮。

3.插入数据4.更新数据5.删除数据6.查询数据步骤一:在数据表上点击右键,选择“查看数据”;步骤二:在弹出的查询窗口中填写查询条件,并点击“确定”按钮。

四、实验结果通过以上基本操作,成功创建了一个数据库,并在数据库中创建了一个数据表。

插入了一条数据,并成功地更新和删除了数据。

最后,使用查询操作查看了数据库中的数据。

五、实验总结通过本次实验,我深入了解了数据库SQL语言的基本操作,学会了使用数据库SQL语言进行数据的增删改查操作。

在实验过程中,我发现通过SQL语句进行数据库操作更加灵活、方便且高效。

还学会了使用Navicat for MySQL这样的数据库管理工具,提高了数据库的操作效率。

通过实验,我对数据库的基本原理和操作有了更深入的了解,为日后的数据库开发和管理打下了坚实的基础。

天津理工大学数据库实验一

天津理工大学数据库实验一

实验报告学院(系)名称:计算机与通信工程学院
4.实验报告
①建立的三个表的内容。

②书写的SQL语句和执行结果。

②书写的SQL语句和执行结果。

1)查询信息系和计算机系的学生,并按学生所在系和学号排序。

2)查询学生表中最小的年龄。

③查询课程名中包含“设计”的课程名
④查询先行课程为空值的课程号、课程名及学分。

⑤查询marci选修的数据库课程的成绩
⑥查询平均成绩80分以上的学生的学号。

⑦求计算机系没有选修数据库课程的学生姓名。

⑧求至少选修了学号为S1所选修的全部课程的学生学号
⑨求各系的系的学生人数的,并将结果按学生人数的降序排序。

⑩查询选修了数据库课程并且成绩高于该门课程平均分的学生学号和成绩
3)执行复杂SQL语句
(1) 将学习了数据库课程的学生成绩加5分
(2) 将李勇的数据库成绩改为85。

(kevin)
(3) 将选修了2号课程且成绩为空的选课记录删除。

(由于没有涉及成绩为空,所以结果是图上显示的效果) (4) 从课程表中删除在选课表中没有选课记录的课程记录。

(5) 求各系的系名及男女生人数并将结果保存到另一个表中。

(6) 将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。

(7) 创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。

(8) 创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。

(我不清楚错误出在哪里)。

理工大学数据库实验报告

理工大学数据库实验报告
4.集合查询
例如,查询计算机科学系的学生以及年龄不及十九岁的学生:
Select *
Form student
Where sdept = ‘cs’
Union
Select *
From student
Where sage < 19
三.视图操作
例如,建立信息系学生的视图:
Create view
IS_student
where
Sname='刘晨');
查询选修了课程名为“信息系统”的学生学号和姓名.
select Sno,Sname
from student where
Sno in
(select Sno from sc
Where
Cno in
(select
Cno from course
where
Cname='信息系统'));
查询所有姓刘的学生的姓名、学号和性别。
select Sname,Sno,Ssex from student where Sname like '刘%';
2.连接查询
例如,查询每个学生及其选修课程的情况:
select student.*,sc.*
from student,sc
where student.Sno=sc.Sno
打开SQL SERVER配置管理器工具,单击“SQL SERVER2005服务”
节点,其中的“SQL SERVER”服务就是我们所说的数据库引擎。与SQL
SERVER 2000一样,可以通过这个配置管理器来启动、停止所安装的服
务,如“SQLSERVER(MSSQLSERVER)”。
3.了解RDBMS系统的体系结构。

数据库实训课程学习总结实践SQL查询与数据库管理

数据库实训课程学习总结实践SQL查询与数据库管理

数据库实训课程学习总结实践SQL查询与数据库管理在数据库实训课程的学习过程中,我深入了解了SQL查询与数据库管理的基本原理和操作技巧。

通过实践操作,我逐渐掌握了SQL语言的基本语法和常用命令,熟悉了数据库的创建、备份与恢复、索引优化等管理技术。

本文将对我在数据库实训课程中的学习经历与心得进行总结,提供给同学们参考与交流。

1. 实践SQL查询在数据库实训课程中,我首先学习了SQL语言的基本语法和常用命令,了解了如何使用SELECT、INSERT、UPDATE和DELETE等命令进行数据的查询、插入、更新和删除。

在实践过程中,我发现了一些查询优化的技巧。

首先,合理选择WHERE子句中的条件和逻辑运算符。

我通过分析查询需求,尽量减少WHERE子句中的条件数量,避免不必要的逻辑运算符。

此外,我还学会了使用索引来加速查询操作,提高查询性能。

其次,合理使用JOIN操作连接多个数据表。

在实践过程中,我遇到了需要连接两个或多个数据表的情况。

通过学习JOIN操作,我可以根据不同的连接关系选择适合的JOIN类型,并且编写出高效的JOIN查询语句。

最后,学会使用子查询进行复杂查询。

子查询是SQL语言的一个重要特性,通过嵌套查询语句,我可以从多个数据表中获取需要的数据,并且可以进行更复杂的条件筛选和排序。

通过实践操作,我逐渐掌握了子查询的使用技巧,提升了查询的灵活性。

2. 数据库管理操作除了SQL查询,数据库实训课程还涉及到了数据库的管理操作。

在实践过程中,我学习了如何创建数据库、备份和恢复数据库、以及优化数据库的性能。

首先,我学会了使用CREATE DATABASE语句创建数据库。

通过指定数据库的名称、字符集和校对规则等参数,我可以在数据库管理系统中创建一个新的数据库。

其次,我了解了数据库备份和恢复的操作。

通过学习备份和恢复的基本原理和方法,我可以对数据库进行定期备份,以防止数据丢失。

同时,当数据库发生故障时,我也可以通过恢复操作将数据库恢复到正常状态。

天津理工大学数据结构实验报告2

天津理工大学数据结构实验报告2
栈底的位置固定不变,栈顶的位置随着进栈和退栈操作而动态变化,所以顺序栈需要 一个变量top来指示当前栈顶的位置。 1.1 初始化栈 为顺序栈分配连续的栈空间,同时置空栈; 1.2 判断栈是否为空栈 空栈标志为:栈顶指针=栈底指针; 1.3 销魂栈 栈为空则返回1,否则返回0; 1.4 进栈操作 首先判断栈的状态,若未满,则top+1,然后将入栈元素置于栈顶指针top所指的存储单元 中,使之指向新的栈顶,若栈满,发生"上溢",程序退出。 1.5 退栈操作 首先判断栈的状态,若不空,则top-1,使其指向新的栈顶,若为空,发生"下溢",程序 退出。 2. 运用顺序栈结构实现回文问题
Байду номын сангаас
int judge_huiwen(char a[],int n){ //判断一个字符串是否是回文 SeqStack *s; s=InitStack(); int i=1,j=1; while(i<=n/2){ Push(s,a[i]); i++; } if(n%2!=0)i++; while(i<=n&&j==1){ if(a[i]==Pop(s)) i++; else{j=0; break; } } return j;
使用栈,将字符串的前一半入栈,再依次出栈,与后一半进行比较,若不相等,则不 是回文,否则是回文 2.1 初始化栈s; 2.2 利用i记录循环次数,i的初始值为1,循环直到i=字符串的一半时结束 字符串下标为i的字符依次入栈。 2.3 若字符串长度为偶数,i值不变,否则i+1; 2.4 利用while循环,依次比较下标为i的字符串中的字符与出栈元素是否相等,以j=1, 作为标志,若不等j=0并打断循环 2.5 返回j的值,j=1,则字符串是回文,否则不是回文 3. 主函数 3.1 首先输入字符串的长度,然后依次输入字符; 3.2 输出字符串; 3.3 调用函数判断字符串是否是回文。

天津理工大学数据结构实验报告3

天津理工大学数据结构实验报告3

实验(三)实验名称二叉树的遍历软件环境 Windows98/2000, VC++6.0或turbo C硬件环境PⅡ以上微型计算机实验目的 理解二叉树的逻辑特点,掌握二叉链表存储结构,掌握二茬树遍历算法的递归与非递归实现实验内容(应包括实验题目、实验要求、实验任务等)二叉树的遍历利用二叉链表作为存储结构建立一棵二叉树,每个结点中存放一种水果名(例如apple、orange、banana等,并要求从键盘输入),结点数不少于5个。

要求分别以先序、中序和后序进行遍历,输出遍历结果。

并编写一递归算法,交换该二叉树中所有结点的左、右孩子。

实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等)实验步骤及算法描述和流程:1. 创建二叉链表的结点存储结构及数据的输入输出函数因为每个结点所存储的数据类型为字符串,却无法使用字符串和String等数据类型,所以使用单链表作为结点所存储的数据类型。

1.1 数据的输入函数indata( )当输入的字符不为'0'时,以尾插法将数据插入单链表。

1.2 数据的输出函数直接输出单链表。

2. 生成二叉链表利用先序遍历生成二叉链表:2.1 用单链表s记录输入的数据2.2 若单链表s为空,则二叉链表结点为空,否则根节点=s,利用递归调用分别生成根节点的左子树和右子树2.3 返回二叉链表3. 先序遍历、中序遍历、后序遍历二叉链表3.1 先序遍历:访问根节点,左子树,右子树的顺序3.2 中序遍历:访问左子树,根节点,右子树的顺序3.3 后序遍历:访问左子树,右子树,根节点的顺序利用递归调用分别用以上三种顺序遍历二叉链表。

4. 交换二叉链表的左右孩子当二叉链表的结点左孩子或者右孩子都不为空时,利用递归调用,分别交换左子树很右孩子的左右孩子,最后将根节点的左右孩子指针交换。

5. 主函数5.1 调用生成二叉链表的函数,从键盘输入二叉链表的各个结点5.2 分别调用先序遍历、中序遍历、后序遍历二叉链表函数,输出所有结点5.3 交换二叉链表的左右孩子5.4 重复5.2结论: 输入各个结点:apple、pear、orange、banana、peach、grape、watermelon 先序遍历输入与输入一致 中序遍历输出:orange、pear、banana、apple、grape、peach、watermelon 后序遍历输出:orange、banana、pear、grape、watermelon、peach、apple 交换二叉树的左右孩子后 先序遍历输出:apple、peach、watermelon、grape、pear、banana、orange编程中出现的问题:输入的二叉链表左右子树必须对称,如果不对称,交换二叉树的左右子树后,程序出错,不知道出错在哪,没有调试成功。

天津理工大学数据库实验三:数据库网页展示

天津理工大学数据库实验三:数据库网页展示

实验报告学院(系)名称:计算机与通信工程学院输入查找内容:查找结果:人员编辑新增界面:判断信息输入是否合法:2)整理上机步骤,总结经验和体会。

人员添加页面主要代码:(ashx)context.Response.ContentType = "text/html";string sno = context.Request["Sno"];string dept = context.Request["Dept"];DataTable dt;if (string.IsNullOrEmpty(sno)&&string.IsNullOrEmpty(dept)){dt =SqlHelper.ExecuteDataTable("select * from Student");}else if (!string.IsNullOrEmpty(sno)){dt =SqlHelper.ExecuteDataTable("select * from Student where Sno=@Sno", new SqlParameter("@Sno", sno));}else{dt =SqlHelper.ExecuteDataTable("select * from Student where Sdept=@Sdept", new SqlParameter("@Sdept", dept));}string html = CommonHelper.RenderHtml("PersonList.htm", dt.Rows);【实验过程记录(源程序、测试用例、测试结果及心得体会等)】实验心得:不会写老师教的aspx下外链css和js,再加上老师鼓励把界面做的漂亮一点,就用了ashx,和html分开,觉得比aspx容易一些。

数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用SQL语句操作数据数据库原理实验报告实验名称:实验二使用SQL语句操作数据实验时间:2013.4.16学生姓名:班级:软件学号:一、实验目的1、熟悉SQL Server 2005的基本环境2、使用对象资源管理器管理数据库、基本表、视图、索引等对象3、锻炼学生对SQL Server 2005基本操作能力二、实验内容1、使用对象资源管理器创建SPJ数据库(1)更改主数据库文件的增长模式,改为按5MB自动增长;(2)更改事务日志文件的增长模式,改为按1MB自动增长。

2、在数据库中创建S, P, J, SPJ四个关系模式:S ( SNO, SNAME, STATUS, CITY )P(PNO, PNAME, COLOR, WEIGHT)J(JNO, JNAME, CITY)SPJ(SNO, PNO, JNO, QTY)【说明:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(SNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。

】3、建立数据库关系图。

将建好的数据库和表转化为SQL语句,以sql脚本方式保存。

4、使用对象资源管理器向表中插入下列数据。

SP表5、使用SQL语言完成如下操作:1)求供应工程J1零件的供应商号码SNO。

2)求供应工程J1零件P1的供应商号码SNO。

3)求供应工程J1零件为红色的供应商号码SNO。

4)求没有使用天津供应商生产的红色零件的工程号JNO。

5)求至少用了供应商S1所供应的全部零件的工程号JNO。

6)找出所有供应商的姓名和所在城市。

7)找出所有零件的名称、颜色、重量。

理工大学数据库实验报告

理工大学数据库实验报告

理工大学学生实验报告一.数据定义(一)基本表的操作1.建立基本表例如,建立一个学生表:create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20))建立一个课程表:create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint,foreign key (Cpno) references Course(Cno))create table sc(Sno char(9),Cno char(4),Grade smallint,primary key(Sno,Cno),foreign key (Sno) references student(Sno), foreign key (Cno) references course(Cno));2.修改基本表例如,像student表加一个入学时间列:alter table Student add S_entrance datetimealter table Student alter column Sage intalter table Course add unique(Cname)3.删除基本表例如,删除已经建立的学生表:drop table Studentdrop table Course(二)索引操作1.建立索引例如,为学生课程数据库中的student, course, sc 三个表建立索引。

其中student表按学号升序建唯一索引,course表按课程号升序建唯一索引,sc表按学生升序和课程号升序建唯一索引:create unique index Stusno on Student(Sno);create unique index Coucno on Course(Cno);create unique index SCno on SC(Sno ASC,Cno DESC)2.删除索引例如,删除student表的Stusno索引:drop index Stusname(三)数据操作一.更新操作1.插入数据例如,在student表中插入下列数据:200215125,张立,男,19,IS代码如下insert into student(Sno,Sname,Ssex,Sage,Sdept)values('200215125','张立','男',19,'IS')插入后,结果如下:在Course表中插入以下数据:1,数据库,5,42,数学,null,26,数据处理,null,24,操作系统,6,37,PASCAL语言,6,45,数据结构,7,41,数据库,5,43,信息系统,1,4insert into course(Cno,Cname,Cpno,Ccredit)values('1','数据库','5',4); insert into course(Cno,Cname,Ccredit)values('2','数学',2);insert into course(Cno,Cname,Ccredit)values('6','数据处理',2);insert into course(Cno,Cname,Cpno,Ccredit)values('4','操作系统','6',3);insert into course(Cno,Cname,Cpno,Ccredit)values('7','PASCAL语言','6',4);insert into course(Cno,Cname,Cpno,Ccredit)values('5','数据结构','7',4);insert into course(Cno,Cname,Cpno,Ccredit)values('1','数据库','5',4); insert into course(Cno,Cname,Cpno,Ccredit)values('3','信息系统','1',4);2.修改数据例如,将学生200215121的年龄改为22岁:update student set Sage=22 where Sno='200215121'修改前:修改后:3.删除数据例如,删除学号为200215128的学生记录:delete from student where Sno='200215128'删除所有学生的选课记录:delete from sc删除计算机科学系所有学生的选课记录:delete from sc where 'CS'=(select Sdept from student where student.Sno=SC.Sno )二.查询操作1.单表查询再例如,查询全体学生的详细记录select * from student;查询所有年龄在20岁以下的学生姓名及其年龄。

xmut数据库实验4-复杂的SQL查询

xmut数据库实验4-复杂的SQL查询
(2)创建职工表,由下列属性组成:仓库号(CHAR型),职工号(CHAR型),工资(INT型),其中职工号为主码,仓库号为外码,工资的限定条件为1000<=工资<=5000,并且设定缺省值为1200
(3)创建供应商表,由下列属性组成:供应商号(CHAR型),供应商名(CHAR型),地址(CHAR型),其中供应商号为主码。
WHERE "订购单表"."职工号"="职工表"."职工号" AND
"职工表"."仓库号"="仓库表"."仓库号" AND
"城市"='上海' SELECT "订购单号"
FROM "职工表","订购单表","供应商表"
WHERE "职工表"."职工号"="订购单表"."职工号" AND
"订购单表"."供应商号"="供应商表"."供应商号" AND
CREATE VIEW "北京仓库供应商"
AS SELECT "供应商名"
FROM "供应商表","仓库表","订购单表","职工表"
WHERE "供应商表"."供应商号"="订购单表"."供应商号" AND
"订购单表"."职工号"="职工表"."职工号" AND

天津理工大学数据库实验基本SQL数据操作

天津理工大学数据库实验基本SQL数据操作

实验报告学院(系)名称:计算机与通信工程学院⑥查询平均成绩80分以上的学生的学号。

⑦求计算机系没有选修数据库课程的学生姓名。

⑧求至少选修了学号为S1所选修的全部课程的学生学号。

⑨求各系的系的学生人数的,并将结果按学生人数的降序排序。

⑩查询选修了数据库课程并且成绩高于该门课程平均分的学生学号和成绩。

4. 实验过程记录(源程序、测试用例、测试结果及心得体会等)1.创建数据库学生2.创建表Student3创建表SC4创建表Coruse5创建关系图6 输入数据二:SQL查询语句①查询信息系和计算机系的学生,并按学生所在系和学号排序。

select sno,sname,Sdept from Studentwhere Sdept='CS'OR Sdept='IS'order by Sdept,sno ASC②查询学生表中最小的年龄。

select MIN(sage)from student③查询课程名中包含“设计”的课程名。

select cno,cname from coursewhere Cname like'%设计%'④查询先行课程为空值的课程号、课程名及学分。

select cno,cname,ccredit from Coursewhere Cpno is null⑤查询李勇选修的数据库课程的成绩。

select grade from SCwhere Sno=(select Sno from Studentwhere Sname='李勇')and Cno=(select Cno from Coursewhere cname='数据库')⑥查询平均成绩80分以上的学生的学号。

select distinct sno from SC scxwhere (select AVG(Grade)from SC scywhere scy.sno=scx.Sno)>80⑦求计算机系没有选修数据库课程的学生姓名。

天津理工大学数据库实验四:查询优化

天津理工大学数据库实验四:查询优化

实验报告学院(系)名称:计算机与通信工程学院姓名卢洪利学号20146049专业计算机科学与技术班级计算机4班实验项目实验四:查询优化课程名称数据库系统课程代码0668026实验时间2016年11月1日实验地点计算机软件实验室7-215 批改意见成绩教师签字:1.实验目的1)了解数据库查询优化方法和查询计划的概念2)学会分析查询的代价,并通过建立索引或者修改SQL语句来降低查询代价2.实验工具Fedora 25 64 bitMariaDB 10.1.19Python 3.4.53.实验内容基于教材中的student、course、SC表,通过存储过程(要求在报告中写出存储过程),插入多条元组(1万条以上),考虑不同的SQL操作,分析比较执行代价。

0.数据准备Student表中建立了10万数据,用时891.72秒。

学号从201200000开始递增到201299999,名字为STU_加长度为6的随机字符串,年龄随机生成,16~25岁,专业随机生成36种Course表中建立899条数据,用时65.88秒,先行课都为前120号的课程SC表中建立199775条数据,用时1845.29秒生成数据所用代码(Python 3):import pymysqlimport randomimport timedef random_string(length = 2):chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"str = ''if length == 2:chars = "BCEGHI"for i in range(1, length+1):str += chars[random.randint(0, len(chars)-1)]return strdef generate_name():return "STU_" + random_string(6)def generate_dept():return random_string(2)def generate_age():return random.randint(16, 25)def generate_sno(num):return 201200000 + numdef generate_sex():r = random.randint(0, 1)if r == 0:return "M"elif r == 1:return "F"def insert_student(db, cursor):for i in range(0, 100000):sno = generate_sno(i)sname = generate_name()sage = generate_age()ssex = generate_sex()sdept = generate_dept()print(sno, sname, sage, ssex, sdept)try:cursor.execute('insert into Student VALUES ("%d", "%s", "%s", "%d", "%s")' % \ (sno, sname, ssex, sage, sdept))mit()except:db.rollback()def insert_sc(db, cursor):for i in range(0, 50000):sno = generate_sno(random.randint(1, 100000))cno = random.randint(101, 999)grade = random.randint(0, 100)try:print(sno, cno, grade)cursor.execute('insert into SC VALUES ("%d", "%d", "%d")' % \(sno, cno, grade))mit()except Exception as e:print(e)db.rollback()def insert_course(db, cursor):for i in range(1, 201):no = 100 + iname = random_string(random.randint(5, 29))credit = random.randint(1, 20)try:print("No." + str(i))cursor.execute('insert into Course VALUES ("%d", "%s", "%d", NULL )' % \ (no, name, credit))mit()except:print("No. " + str(i) + "failed!")db.rollback()for i in range(300, 900):no = 100 + ipno = random.randint(1, 20) + 100name = random_string(random.randint(5, 29))credit = random.randint(1, 20)try:print("No." + str(i))cursor.execute('insert into Course VALUES ("%d", "%s", "%d", "%d" )' % \ (no, name, credit, pno))mit()except:print("No. " + str(i) + "failed!")db.rollback()if __name__ == "__main__":db = pymysql.connect("localhost", "root", "root", "STU")cursor = db.cursor()t1 = time.time()# insert_student(db, cursor)# insert_course(db, cursor)insert_sc(db, cursor)t2 = time.time()db.close()print(t1)print(t2)print(t2-t1)1.单表查询(1)直接查询:查询student表中年龄在20岁以上的学生记录select * from Student where Sage > 20;50248 rows in set (0.13 sec)10万条数据中,匹配数据50248条,耗时0.13秒(2)建立索引后,再查询:查询student表中年龄在20岁以上的学生记录MariaDB [STU]> create index STU_INDEX_OF_AGE on Student(Sage);Query OK, 0 rows affected (0.50 sec)建立索引耗时0.50秒MariaDB [STU]> select * from Student where Sage>20;50248 rows in set (0.13 sec)耗时没有发生变化,猜测MariaDB提前为Sage建立了索引,证明猜测:MariaDB [STU]> show index from Student;| Table | Non_unique | Key_name | Seq_in_index | Column_name || Student | 0 | PRIMARY | 1 | Sno || Student | 1 | STU_INDEX_OF_AGE | 1 | Sage |当前拥有主键的索引和刚刚建立的索引,说明上面的猜测是错的(3)表中元组数量少,查询结果所占比例大:查询student表中年龄在20岁以上的学生记录为了满足查询结果所占比例大,根据生成的数据,查询17岁以上的学生:MariaDB [STU]> select * from Student where Sage>17;79851 rows in set (0.17 sec)匹配数据79851条,耗时0.17秒(4)表元组数量多,查询结果所占比例小:查询student表中年龄在20岁以上的学生记录为了满足查询结果所占比例大,根据生成的数据,查询23岁以上的学生:MariaDB [STU]> select * from Student where Sage>23;20124 rows in set (0.10 sec)匹配数据20124条,耗时0.10秒(5)分析以上四种SQL查询的执行效率,并做总结:a.总数据一定时,查询结果所占比例小更省时b.MariaDB本身优化足够,在当前的实验环境下,手动建立索引的优化效果不明显2. 多表查询基于student、course、SC表,按照以下要求,实现多表查询,并分析比较执行效率。

数据库实验三

数据库实验三

天津理工大学实验报告学院(系)名称:计算机与通信工程学院姓名晴小天学号2013xxxx 专业计算机科学与技术班级2013级2班实验项目实验三:数据库编程课程名称数据库系统课程代码0668026实验时间2015年11月12日实验地点7-219批改意见成绩教师签字:1)create proc exe3_1 as select * from Student go exec exe3_1;2) create procedure snoPro@sno char(9)as beginselect*from Student where sno=@sno;endexecute snoPro'200215121'3) create procedure snonamePro@sno char(9),@stuname char(20)outputasbeginselect@stuname=Sname from Student where Sno=@sno;endDeclare@name char;execute snonamePro'200215129',@name output;select@name as学生姓名4) create proc exe3_4@sno char(9)asdelete from Student where Sno=@snogoexec exe3_4'200215123'select*from Student;DELETE 语句与 REFERENCE 约束"FK__SC__Sno__1273C1CD"冲突。

该冲突发生于数据库"stuDB",表"dbo.SC", column 'Sno'。

5)reate proc exe3_5@sno char(9),@sname char(20),@sex char(2),@sage smallint,@sdept char(20)asupdate Studentset Sname=@sname,Ssex=@sex,Sage=@sage,Sdept=@sdeptwhere Sno=@snogoexec exe3_5'200215121','晴天','男',20,'Com';select * from Student where Sno=’200215121’;6) create proc exe3_6@sno char(9),@sname char(20),@ssex char(2),@sage smallint,@sdept char(20)asinsert intoStudent(Sno,Sname,Ssex,Sage,Sdept)values (@sno,@sname,@ssex,@sage,@sdept)goexec exe3_6'20135634','晴小天','女',19,'Haven';7) create proc exe3_7@sname char(20)asselect Grade from Course,Student,SCwhere Sname=@sname and Student.Sno=SC.Sno and o=o goexec exe3_7'刘晨';8)create proc ex3_8@cname char(9)asselect distinct _o,_first.Sno,Grade from Student,SC_first,Coursewhere Grade>= (select AVG(Grade)from SC_secondgroup by _ohaving _o=_oand cno=(select cno from Coursewhere Cname=@cname))and _first.Sno=Student.Snogo exec ex3_8 '数据库'Java实现的小型信息管理系统(含界面)SQL Server2012与MyEclipse2013建立连接并实现增删改查:登陆页面(数据对应于StudentDB的login表):登陆成功后的学生信息管理系统(数据对应于StudentDB的student表):最初的student表:增加操作:删除操作:修改操作:查询操作:。

数据库SQL实验报告_数据库的基本操作

数据库SQL实验报告_数据库的基本操作

数据库SQL实验报告_数据库的基本操作一、实验目的本次实验旨在通过实际操作,深入理解和掌握数据库的基本操作,包括创建数据库、创建表、插入数据、查询数据、更新数据和删除数据等,从而提高对数据库管理系统的应用能力和实践操作技能。

二、实验环境本次实验使用的数据库管理系统是 MySQL 80,操作系统为Windows 10。

三、实验内容及步骤(一)创建数据库1、打开 MySQL 命令行客户端,输入以下命令创建一个名为“my_database”的数据库:```sqlCREATE DATABASE my_database;```2、输入以下命令查看已创建的数据库:```sqlSHOW DATABASES;```(二)创建表1、使用以下命令切换到“my_database”数据库:```sqlUSE my_database;```2、创建一个名为“students”的表,包含“id”(整数类型,主键,自增)、“name”(字符串类型,长度为 50)、“age”(整数类型)和“grade”(整数类型)列:```sqlCREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,grade INT);```1、向“students”表中插入以下数据:```sqlINSERT INTO students (name, age, grade) VALUES ('张三', 20, 80),('李四', 21, 85),('王五', 19, 90);```(四)查询数据1、查询“students”表中的所有数据:```sqlSELECT FROM students;```2、查询年龄大于 20 岁的学生信息:```sqlSELECT FROM students WHERE age > 20;```1、将“张三”的年龄更新为 21 岁:```sqlUPDATE students SET age = 21 WHERE name ='张三';```(六)删除数据1、删除“grade”小于 80 的学生记录:```sqlDELETE FROM students WHERE grade < 80;```四、实验结果(一)创建数据库成功创建了名为“my_database”的数据库,并通过“SHOW DATABASES”命令验证了其存在。

天津理工大学数据库实验二(20200717041539)

天津理工大学数据库实验二(20200717041539)

实验报告学院(系)名称:计算机与通信工程学院姓名Touchkiss 学号20125577 专业计算机科学与技术班级2班实验项目实验二:复杂SQL数据操作课程名称数据库系统课程代码0668026实验时间2014/10/31 实验地点计算机软件实验室7-215 批改意见成绩教师签字:1.实验目的1) 熟悉各数据库的交互式SQL工具;2) 熟悉通过SQL语言对数据库进行操作3)熟悉通过SQL语言对数据进行控制(授权和权力回收)2.实验工具MS SQL server20083.实验内容1)表的创建:创建一数据库Temp,在数据库中创建教材中的Student 表、Course 表和SC 表,给出表中的主码、外码和约束关系。

2)基于以上创建的表,完成如下SQL语句。

(1) 将学习了数据库课程的学生成绩加5分。

(2) 将计算机系学习了2号课程的学生成绩置0。

(3) 将李勇的数据库成绩改为85。

(4) 将选修了2号课程且成绩为空的选课记录删除。

(5) 从课程表中删除在选课表中没有选课记录的课程记录。

(6) 删除计算机系学生选修了数据库课程的选课记录。

(7) 求各系的系名及男女生人数并将结果保存到另一个表中。

(8) 将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。

(9) 创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。

(10) 创建一个给出学生的姓名、课程名和成绩的视图,并利用该视图查询某个学生学习的课程名和成绩。

(11)创建一个视图,求各门课程的课程号、选课人数、平均分、最高分,并利用该视图查询1号课程的选课人数、平均分、最高分。

(12) 创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。

(13)创建用户user1,将学生表的select权限赋给用户user1,然后以user1登录,检查权限情况。

(14)收回用户user1的对学生表的select权限,然后以user1登录,检查权限情况。

数据库原理与应用实验二复杂的数据查询

数据库原理与应用实验二复杂的数据查询

数据库原理与应用实验二复杂的数据查询
实验二复杂的数据查询
一、实验目的
掌握利用select语句进行复杂的数据查询。

二、实验要求
写出实训时碰到的问题以及解决问题的办法,完成本次实训的体会。

三、实验内容
1.检索限选人数小于平均限选人数的课程名称和教师
2.检索班级号为20000003的学生的学号、姓名、班级代码、班级名称
3.检索学生选课为第1志愿(WILLORDER)的学号、姓名、课程号、课程名称
4.按部门统计课程的平均报名人数,要求显示部门名称、平均报名人数。

5.统计各部门的班级数,要求显示部门编号、部门名称和班级数量。

6.查看“00电子商务”版的选修报名情况。

要求显示学号、姓名、课程编号、课程名称、志愿号,并按学号(升序)、志愿号(降序)排列。

7.查看“甘蕾”同学选修的课程名、学分、上课时间、志愿号,按志愿号(升序)排序查询结果。

8.按系部统计各系的最少报名人数、最多报名人数、平均报名人数和报名总数,并汇总显示所有系部的报名总数。

要求平均报名人数保留两位小数位。

四、实验作业
严格按照各题要求做实验,在实训报告中,需要对知识点进行描述,撰写实验过程及过程中遇到的难点,并给出解决办法或新的心得体会。

实验四SQL(三)SQL进行复杂查询实验报告

实验四SQL(三)SQL进行复杂查询实验报告

实验四SQL(三)SQL进行复杂查询实验报告实验四SQL(三)SQL进行复杂查询实验报告实验目的:1. 熟练掌握各种连接查询及其连接条件。

2. 掌握各种嵌套查询的使用。

3. 掌握复杂的集合查询。

实验内容:1.实验一中的数据为基础2.对各表中的数据进行不同条件的连接查询和嵌套查询;1)查询每个学生及其选课情况;2)查询每门课的间接先修课3)将STUDENT,SC进行右连接4)查询有不及格的学生姓名和所在系5)查询所有成绩为优秀(大于90分)的学生姓名6)查询既选修了2号课程又选修了3号课程的学生姓名、学号;7)查询和刘晨同一年龄的学生8)选修了课程名为“数据库”的学生姓名和年龄9)查询其他系比IS系任一学生年龄小的学生名单10)查询其他系中比IS系所有学生年龄都小的学生名单11)查询选修了全部课程的学生姓名12)查询计算机系学生及其性别是男的学生13)查询选修课程1的学生集合和选修2号课程学生集合的差集14)查询李丽同学不学的课程的课程号15)查询选修了3号课程的学生平均年龄16)求每门课程学生的平均成绩17)统计每门课程的学生选修人数(超过3人的才统计)。

要求输出课程号和选修人数,结果按人数降序排列,若人数相同,按课程号升序排列18)查询学号比刘晨大,而年龄比他小的学生姓名。

19)求年龄大于女同学平均年龄的男同学姓名和年龄20)求年龄大于所有女同学年龄的男同学姓名和年龄21)查询至少选修了95002选修的全部课程的学生号码22)查询95001和95002两个学生都选修的课程的信息实验步骤与过程:1.创建学生表student、课程表course和选课表SC,可以用使用实验一中已经建立的表和数据。

2.并输入数据,设置主键。

3.建立索引及三表之间关系。

4.按照SQL语句格式及题目要求输入语句进行不同条件的连接查询(SELECTFROM和WHERE等查询的语句)和嵌套查询:1、查询每个学生及其选课情况;2、查询每门课的间接先修课;3、将STUDENT,SC进行右连接;4、查询有不及格的学生姓名和所在系;5、查询所有成绩为优秀(大于90分)的学生姓名;6、查询既选修了2号课程又选修了3号课程的学生姓名、学号;7、查询和刘晨同一年龄的学生;8、选修了课程名为“数据库”的学生姓名和年龄;9、查询其他系比IS系任一学生年龄小的学生名单;10、查询其他系中比IS系所有学生年龄都小的学生名单;11、查询选修了全部课程的学生姓名;12、查询计算机系学生及其性别是男的学生;13、查询选修课程1的学生集合和选修2号课程学生集合的差集;14、查询李丽同学不学的课程的课程号;15、查询选修了3号课程的学生平均年龄;16、求每门课程学生的平均成绩;17、统计每门课程的学生选修人数(超过3人的才统计)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3)熟悉通过SQL语言对数据进行控制(授权和权力回收)
2.实验环境
MS SQL server
3.实验要求
(1)将学习了数据库课程的学生成绩加5分。
(2)将计算机系学习了2号课程的学生成绩置0。
(3)将李勇的数据库成绩改为85。
(4)将选修了2号课程且成绩为空的选课记录删除。
(5)从课程表中删除在选课表中没有选课记录的课程记录。
createviewCCAM
as
selectcno,COUNT(sno)count1,AVG(grade)avge,MAX(grade)max1fromSC
groupbyCno
select*fromccam
selectcount1,avge,max1fromccam
wherecno='1'
(12)创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。
createviewNo_sc_student
as
selectsno,sname,ssex,sage,sdeptfromstudent
wheresnonotin(selectdistinctSnofromSC)
select*fromNo_sc_student
(10)创建一个给出学生的姓名、课程名和成绩的视图,并利用该视图查询某个学生学习的课程名和成绩。
createroleuse1/*创建角色use1*/
gran的对学生表的select权限,然后以user1登录,检查权限情况。
revokeselectonstudentfromuse1;
实验报告
学院(系)名称:计算机与通信工程学院
姓名
xx
学号
x
专业
信息安全
班级
2班
实验名称
复杂SQL数据操作
课程名称
数据库系统
课程代码
0668026
实验时间
2014.10.22 10:00-11:30
实验地点
7-219
批改意见
成绩
教师签字:
1.实验目的
1)熟悉各数据库的交互式SQL工具;
2)熟悉通过SQL语言对数据库进行操作
fromsc
wherecno=2andgrade=NULL;
select*fromsc
(5)从课程表中删除在选课表中没有选课记录的课程记录。
delete
fromcourse
wherenotexists
(select*o=o)
select*fromcourse
11)创建一个视图,求各门课程的课程号、选课人数、平均分、最高分,并利用该视图查询1号课程的选课人数、平均分、最高分。
(12)创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。
(13)创建用户user1,将学生表的select权限赋给用户user1,然后以user1登录,检查权限情况。
createviewsname_cname_grade
as
selectsname,cname,gradefromStudent,Course,SC
whereStudent.Sno=o=o
select*fromsname_cname_grade
11)创建一个视图,求各门课程的课程号、选课人数、平均分、最高分,并利用该视图查询1号课程的选课人数、平均分、最高分。
createviewCno_2(sno,Grade)
as
selectSno,GradefromSC
whereCno='2'andgrade>(selectAVG(Grade)fromSCwhereCno='2')
select*fromCno_2
(13)创建用户user1,将学生表的select权限赋给用户user1,然后以user1登录,检查权限情况。
(6)删除计算机系学生选修了数据库课程的选课记录。
deletefromsc
wherecno=(selectcnofromcoursewherecname='数据库')and
snoin(selectsnofromstudentwheresdept='CS')
select*fromSC
(7)求各系的系名及男女生人数并将结果保存到另一个表中。
createtables1(sdeptchar(20),ssexchar(2),c1int)
insertintos1
selectsdept,ssex,count(ssex)
fromstudent
groupbysdept,ssex;
select*froms1
(8)将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。
createtables2(snointNotNull,cint,avgageint);
insertintos2
selectsno,count(cno),avg(grade)fromsc
groupbysno
havingavg(grade)>80
select*froms2
(9)创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。
updatesc
setgrade=85
wheresno=(selectsnofromstudentwheresname='李勇')
andcno=(selectcnofromcoursewherecname='数据库');
select*fromsc
(4)将选修了2号课程且成绩为空的选课记录删除。
delete
(6)删除计算机系学生选修了数据库课程的选课记录。
(7)求各系的系名及男女生人数并将结果保存到另一个表中。
(8)将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。
(9)创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。
(10)创建一个给出学生的姓名、课程名和成绩的视图,并利用该视图查询某个学生学习的课程名和成绩。
(14)收回用户user1的对学生表的select权限,然后以user1登录,检查权限情况。
4.实验过程记录(源程序、测试用例、测试结果及心得体会等)
(1)将学习了数据库课程的学生成绩加5分。
updatesc
setgrade=grade+5
wherecno=(selectcnofromcoursewherecname='数据库');
select*fromsc
(2)将计算机系学习了2号课程的学生成绩置0。
updatesc
setgrade=0
where'2'=(selectCnofromstudent
wheresdept='CS'ANDStudent.Sno=SC.Sno);
select*fromsc
(3)将李勇的数据库成绩改为85。
相关文档
最新文档