数据库上机实验总结(含代码)
- 格式:doc
- 大小:66.00 KB
- 文档页数:6
数据库上机实验报告数据库上机实验网络1002 3100610055一、实验目的1.通过上机操作,加深对数据库理论知识的理解。
2.通过使用具体的微机DBMS(SQL Server),了解一种实际的数据库管理系统,并掌握其操作技术。
3.通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。
二﹑实验题目某供应商(S)供应(SPJ)某种零件(P)给某个工程项目(J),其中一个供应商可以供给多个项目零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,S﹑P﹑J﹑SPJ的数据见附表1。
三、实验报告实验报告按照各实验的实验报告内容来整理。
实验报告提交地址:ftp://202.195.168.13/(在“up”文件夹里的“《数据库系统原理A》上机实验”文件夹中找到班级文件夹)用户名:nianyi密码:123456实验报告命名规则:班级+学号+姓名,如“软件080101王鹏晓”。
四、考核上机实验采用书面分析、平时实验和最后抽查考核相结合的方法评定成绩。
实验一数据库的定义和建立一、实验目的要求学生熟练掌握和使用T-SQL﹑SQL Server对象资源管理器创建数据库﹑基本表和修改表结构,及向数据库输入数据的操作,学会创建和使用表的主码、外码和约束。
二、实验内容1﹑利用SQL Server对象资源管理器创建数据库和查看数据库属性;2﹑利用T-SQL创建基本表﹑确定表的主码、外码和相应的约束;3﹑利用SQL Server对象资源管理器创建表之间的关系图;4﹑利用T-SQL向数据库输入数据。
三、注意事项1﹑输入数据时要注意数据类型、主码和数据约束的限制。
2﹑注意数据库的主码﹑外码和数据约束的定义。
3、注意参照表和被参照表之间的关系,主码和外码间的关系。
四、实验报告内容1﹑创建基本表(包括表的主码、外码和相应的约束)的SQL语句;3﹑输入数据的SQL语句。
create table s(sno char(8) primary key,sname char(20) unique,statuss smallint,city char(20));create table p(pno char(8) primary key,pname char(20),color char(8),weightt smallint);create table j(jno char(8) primary key,jname char(20),city char(20));create table spj(sno char(8),pno char(8),jno char(8),qty smallint,primary key(sno,pno,jno),foreign key(sno) references s(sno),foreign key(pno) references p(pno), foreign key(jno) references j(jno));insertinto svalues('s1','精益','20','天津');insertinto svalues('s2','盛锡','10','北京');insertinto svalues('s3','东方红','30','北京'); insertinto svalues('s4','丰泰盛','20','天津'); insertinto svalues('s5','为民','30','上海');select*from s;insertinto pvalues('p1','螺母','红','12');insertinto pvalues('p2','螺栓','绿','17');into pvalues('p3','螺丝刀','蓝','14'); insert into pvalues('p4','螺丝刀','红','14'); insert into pvalues('p5','凸轮','蓝','40'); insert into pvalues('p6','齿轮','红','30'); select* from p;into jvalues('j1','三建','北京'); insert into jvalues('j2','一汽','长春'); insert into jvalues('j3','弹簧厂','天津'); insert into jvalues('j4','造船厂','天津'); insert into jvalues('j5','机车厂','唐山'); insert into jvalues('j6','无线电厂','常州');into jvalues('j7','半导体厂','南京'); select* from j;insertinto spjvalues('s1','p1','j1','200'); insertvalues('s1','p1','j3','100'); insert into spjvalues('s1','p1','j4','700'); insert into spjvalues('s1','p2','j2','100'); insert into spjvalues('s2','p3','j1','400'); insert into spjvalues('s2','p3','j2','200'); insert into spjvalues('s2','p3','j4','500'); insert into spjvalues('s2','p3','j5','400'); insert into spjvalues('s2','p5','j1','400'); insert into spjvalues('s2','p5','j2','100'); insert into spjvalues('s3','p1','j1','200'); insert into spjvalues('s3','p3','j1','200'); insert into spjvalues('s4','p5','j1','100'); insert into spjvalues('s4','p6','j3','300'); insert into spjvalues('s4','p6','j4','200'); insert into spjvalues('s5','p2','j4','100'); insertvalues('s5','p3','j1','200'); insert into spjvalues('s5','p6','j2','200'); insert into spjvalues('s5','p6','j4','500'); select* from spj;2﹑表之间的关系图;4、总结实验过程中遇到的问题及解决。
数据库实训总结7篇第1篇示例:数据库实训是数据库课程中非常重要的一环,通过实践操作,能够更好地理解数据库的基本原理和操作技巧。
本次数据库实训总结将从实训内容、实训过程和实训收获三个方面进行回顾。
一、实训内容在数据库实训中,我们主要学习了数据库的设计、建表、插入数据、查询数据、更新数据、删除数据等基本操作。
通过实际操作,我们了解了数据库设计的重要性,设计合理的数据库结构可以提高数据的存储效率和检索效率。
我们还学习了SQL语句的编写,掌握了SELECT、INSERT、UPDATE、DELETE等关键字的用法,能够灵活查询和操作数据库中的数据。
我们还学习了索引、视图、触发器等高级技术,进一步提升了数据库操作的水平。
二、实训过程在实训过程中,我们首先完成了数据库设计和建表的工作,根据需求分析确定了数据库的表结构,并创建了相应的表。
接着,我们通过SQL语句插入了大量的测试数据,以便后续的查询和操作。
然后,我们对数据库中的数据进行了各种操作,包括查询特定条件下的数据、更新数据、删除数据等。
在操作过程中,我们遇到了一些问题,如SQL语句的书写错误、查询条件设置不当等,但通过思考和实践,最终都得到了解决。
三、实训收获通过数据库实训,我们积累了丰富的数据库操作经验,掌握了SQL语句的基本用法和高级技术。
我们学会了如何设计合理的数据库结构,如何提高查询效率,如何保证数据的完整性和一致性。
我们还培养了团队合作能力和解决问题的能力,通过与同学一起讨论和思考,共同解决实训中遇到的难题。
通过实践操作,我们真正理解了数据库理论知识的应用,提升了自己的实际操作能力。
数据库实训是一次非常有意义的实践活动,通过实践操作,我们不仅巩固了数据库课程中学到的知识,还培养了实际操作能力和团队合作精神。
希望今后能够继续学习和探索数据库领域的知识,不断提升自己的专业水平。
【内容结束】第2篇示例:数据库实训总结数据库实训是大学生学习数据库课程的重要环节,通过实践操作,学生可以更深入地了解数据库的基本概念和操作技能。
数据结构上机实验源代码栈的应用十进制数转换为八进制数,逆序输出所输入的数实验代码://stack.h,头文件class stack{public:stack();bool empty()const;bool full()const;error_code gettop(elementtype &x)const;error_code push(const elementtype x);error_code pop();private:int count;elementtype data[maxlen];};stack::stack(){count=0;}bool stack::empty()const{return count==0;}bool stack::full()const{return count==maxlen;}error_code stack::gettop(elementtype &x)const{if(empty())return underflow;else{x=data[count-1];return success;}}error_code stack::push(const elementtype x){if(full())return overflow;data[count]=x;count++;return success;}error_code stack::pop(){if(empty())return underflow;count--;return success;}//主程序#include<iostream.h>enum error_code{overflow,underflow,success};typedef int elementtype;const int maxlen=20;#include"stack.h"void read_write() //逆序输出所输入的数{stack s;int i;int n,x;cout<<"please input num int n:";cin>>n;for(i=1;i<=n;i++){cout<<"please input a num:";cin>>x;s.push(x);}while(!s.empty()){s.gettop(x);cout<<x<<" ";s.pop();}cout<<endl;}void Dec_to_Ocx(int n) //十进制转换为八进制{stack s1;int mod,x;while(n!=0){mod=n%8;s1.push(mod);n=n/8;}cout<<"the ocx of the dec is:";while(!s1.empty()){s1.gettop(x);cout<<x;s1.pop();}cout<<endl;}void main(){int n;// read_write();cout<<"please input a dec:";cin>>n;Dec_to_Ocx(n);}队列的应用打印n行杨辉三角实验代码://queue.hclass queue{public:queue(){count=0;front=rear=0;}bool empty(){return count==0;}bool full(){return count==maxlen-1;}error_code get_front(elementtype &x){if(empty())return underflow;x=data[(front+1)%maxlen];return success;}error_code append(const elementtype x){if(full())return overflow;rear=(rear+1)%maxlen;data[rear]=x;count++;return success;}error_code serve(){if(empty())return underflow;front=(front+1)%maxlen;count--;return success;}private:int count;int front;int rear;int data[maxlen];};//主程序#include<iostream.h>enum error_code{overflow,underflow,success};typedef int elementtype;const int maxlen=20;#include"queue.h"void out_number(int n) //打印前n行的杨辉三角{int s1,s2;int i;int j;int k;queue q;for(i=1;i<=(n-1)*2;i++)cout<<" ";cout<<"1 "<<endl;q.append(1);for(i=2;i<=n;i++){s1=0;for(k=1;k<=(n-i)*2;k++)cout<<" ";for(j=1;j<=i-1;j++){q.get_front(s2);q.serve();cout<<s1+s2<<" ";q.append(s1+s2);s1=s2;}cout<<"1 "<<endl;q.append(1);}}void main(){int n;cout<<"please input n:";cin>>n;out_number(n);}单链表实验实验目的:实验目的(1)理解线性表的链式存储结构。
数据库实训总结7篇篇1在本次数据库实训中,我们通过系统的学习和实践,深入了解了数据库的基本原理、基本操作和优化方法。
本次实训旨在提高我们的动手能力和实践能力,为未来的学习和工作打下坚实的基础。
一、实训内容与收获在本次实训中,我们首先学习了数据库的基本概念和原理,包括数据库的定义、作用、类型以及数据库系统的基本结构。
这些知识为我们后续的学习和实践提供了理论基础。
接着,我们学习了数据库的基本操作,如数据的增删改查等,这些操作是数据库的核心内容之一。
通过反复练习和巩固,我们逐渐掌握了这些基本操作,并能够熟练地应用它们解决实际问题。
此外,我们还学习了数据库的性能优化方法。
通过学习,我们了解到数据库性能优化的重要性,以及优化数据库性能的方法和技巧。
这些知识对于提高数据库的运行效率和响应速度具有重要意义。
在本次实训中,我们还锻炼了我们的团队协作能力和沟通能力。
通过与小组成员的共同学习和实践,我们学会了如何分工合作、如何共同解决问题以及如何进行有效的沟通。
这些能力对于我们未来的学习和工作都具有重要的意义。
二、存在的问题与改进措施在本次实训中,我们也存在一些问题。
首先,我们在学习过程中有时会出现理解不够深入、掌握不够牢固的情况。
这主要是因为我们在学习过程中没有充分理解知识的本质和内涵,只是机械地记忆了一些表面的概念和操作。
为了解决这个问题,我们应该在学习过程中注重理解知识的本质和内涵,多思考、多总结,形成自己的知识体系和思维框架。
其次,我们在实践过程中有时会出现操作不规范、不严谨的情况。
这主要是因为我们在实践过程中没有严格按照规定的操作流程和标准进行操作,存在一些随意性和盲目性。
为了解决这个问题,我们应该在实践过程中严格按照规定的操作流程和标准进行操作,注重操作的规范性和严谨性,避免出现不必要的错误和损失。
最后,我们在团队协作过程中有时会出现沟通不畅、协作不默契的情况。
这主要是因为我们在团队协作过程中没有充分了解每个成员的特点和优势,没有形成有效的团队协作机制。
数据库实验(第三次)题目1 实验内容:1. 检索上海产的零件的工程名称;2. 检索供应工程J1零件P1的供应商号SNO;3. 检索供应工程J1零件为红色的供应商号SNO;4. 检索没有使用天津生产的红色零件的工程号JNO;5. 检索至少用了供应商S1所供应的全部零件的工程号JNO;6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数量QTY降序排列。
1select jnamefrom jwhere jno in(select jnofrom spjwhere sno in(select snofrom swhere city ='上海'));2select snofrom spjwhere jno ='j1'and pno ='p1'3selectdistinct snofrom spjwhere pno in(select pnofrom pwhere color='红'and pno in (select pnofrom spjwhere jno ='j1'));4selectdistinct jnofrom spjwhere pno notin(select pnofrom pwhere color ='红'and pno in (select pnofrom spjwhere sno in(select snofrom swhere city ='天津')))5select jnofrom spjwhere sno ='s1'6select jno,qtyfrom spjwhere pno ='p1'orderby qty desc四﹑思考题1. 如何提高数据查询和连接速度。
建立视图2. 试比较连接查询和嵌套查询有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比嵌套查询高出很多当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。
数据库上机实习心得体会8篇数据库上机实习心得体会(篇1)在学习这门课的过程中,在对数据库的了解过程中,慢慢对数据库有了感观。
数据库这一词并不是很难想象,并不是像外人看来很神奇。
作为计算机专业的学生,这样的专业术语或者专业知识是最基本的。
学习的时候没有想象中的那么难,只要上课能听懂就基本还可以。
但是问题还是出在书本有点厚,有的时候上课的内容都要找很久才能找到,甚至有的时候老师讲的知识书本上是找不到的,是另外补充而且是相当重要的内容。
有的时候开小差,没有听到老师讲的知识点,这就导致了以后的学习无法顺利进行,使得学习起来十分困难。
所以在数据库这门课的学习中,上课一定要听牢,就像老师说的那样,这样的专业课如果想凭考试前几天突击是行不通的,必须是日积月累的知识才能取得好成绩。
通过对数据库的学习,我也明白了各行各业都离不开数据库,就算是一个小型的超市也离不开它。
可见数据库这门课的广泛性,如果能够认真学好它将来必有成就。
我就是抱着这种信念去学习数据库的。
第一次接触数据库,第一次接触SQL语言,虽然陌生,但是可以让我从头开始学,就算没有基础的人也可以学得很好。
刚开始练习SQL语言的时候,并不是很难,基本上都是按照老师的步骤来做,还很有成就感。
后来学了单表查询和连接查询后,就慢慢发现越学越困难了,每个题目都要思考很久,并且每个题目基本上不止一个答案,所以必须找出最优的答案。
后面的删除、插入、修改这些题目都变化蛮大的,书本上的例题根本无法满足我们,好在老师给我们提供了大量的.课件,通过这些PPT,我们可以巩固课内的知识,还可以学习内容相关的知识,更好地完成老师布置的作业。
除了老师布置的一些基本作业外,还有一份大作业。
就像我们小组的是杂货店的销售管理系统,在完成这一作业的过程中,我们可以通过网络实现一家杂货店。
过程是很复杂的,杂货店需要员工,还有百来种商品,不仅需要大量的数据,还要完成需求说明,数据词典,还有E-R图等,虽然想象起来并不是很难,但是要转化成文字,转化成人们能够读懂的文字就显得十分困难。
数据库上机报告(一)上机实验项目名称:库以及表的基本操作学号:项目学时:姓名:班级:目录一、实验目的二、实验内容三、设计步骤以及实验结果四、实验总结一、实验目的(1)熟悉SQL Sever数据库组成(2)了解如何创建、导入以及删除数据库(3)熟悉表的创建与管理二、实验内容:(1)数据库由包含数据的基本表和其他对象(视图、索引、存储过程和触发器)组成。
系统数据库包括master数据库(记录所有其他的数据库以及相关信息)tempdb数据库(保存所有的临时表和临时存储过程)msdb数据库。
(2)建立所需要的数据库(3)建立学生表课程表以及选课表三、设计步骤以及实验结果(3.2.1)新建数据库操作:打开SQL Sever软件点开资源管理器下数据库标志左侧的加号,在下拉菜单中右键点击,(见右上图)之后点击新建数据库之后在弹出的对话框中数据库名称一栏输入你所要的数据库名称;单击确定,建立数据库完成。
(3.2.2)导入数据库一种方法是将数据库的两个源文件放在数据库存放源文件的文件夹里,之后在数据库上右击点击附加,在弹出的窗口选择添加,会弹出另一个窗口选择你要附加的数据库的源文件将其导入进来。
第二种方法是新建一个数据库,名字最好与你即将要导入进来的数据库名称一致,在所建立好的数据库上单击右键选择任务--还原--数据库,选择设备选项,接着将要导入的源文件都添加进来点击确定(3.2.3)删除数据库首先需要在你所要删除的数据库上单击右键选择任务--分离,之后要在存放数据库源文件的根目录下将有关其数据库的内容删除掉(根目录具体位置见上图)。
(3.3)创建学生表,课程表以及选课表并且对其进行适当的约束(3.3.1)创建学生表展开已经创建好的数据库student,在【表】上单击右键,选择【新建表】在前5列设计写入列名为Sno,Sname,Ssex,Sage,Sdept数据类型分别为nchar(10) ,varchar(50) ,nchar(2),int,nchar(10),其中后四项可以为null值,且将学生号Sno设为主键。
Access数据库上机实验报告陶瓷公司管理信息系统项目1 实验目的1.了解信息系统开发的主要过程,体会在系统开发中系统实施的主要步骤。
2.掌握使用Access的表、查询、窗体、报表等工具开发一个小型信息系统的主要方法。
3.通过此系统开发实践,理解数据库的基础知识,软件开发工具的知识以及管理信息系统得知识,了解如何将它们融会贯通。
同时通过实践培养学生综合运用知识和开发应用系统的能力。
2 实验内容1、以“陶瓷公司管理信息系统”的名称创建数据库。
2、根据给定的字段信息,创建散件表、套件表、陶瓷组成表、制造商表。
3、录入数据根据给定的excel文件,利用导入功能将数据导入到相应的表中。
4、建立查询先建立散件表与制造商表的中相同字段“制造商编号”对应关系。
通过向导完成制造商散件库存量查询。
5、开发报表使用报表向导设计报表,通过添加散件成本、散件出售价格、散件编号、散件名称、库存、制造商名称完成字段分组。
6、窗体设计通过窗体设计向导,绘制界面,并定义功能键的操作功能。
添加文本框,并定义数据源,完成表的数据关联,定义好查询、添加等按钮的功能。
3 实验结果实验总结在短暂的学习中设计视图,Aceess简单查询向导,交叉表查询向导,引入数据等操作。
学习数据库的过程中感觉跟学习其他课程一样,也有丰富的知识。
查询的创建共有五种创建查询的方法,习惯采用的是设计查询和向导的查询。
设置查询方面的知识:添加表/查询,更改表或查询间的关系,删除表/查询。
设置查询结果的排序,设置字段的显示属性等等。
感谢这次教学实验,使我对数据库有了更深的了解,希望在以后的学习中,数据库的运用可以对我有更大的帮助。
数据库上机报告一、实验目的本次实验旨在让学生熟悉基本的SQL语句,了解数据库的基本概念,掌握数据库设计的基本思路和方法。
二、实验环境1.软件环境:操作系统:Windows 10数据库:MySQL编辑器:Navicat2.硬件环境:CPU:Intel Core i5内存:8GB三、实验步骤1.创建数据库和数据表使用Navicat连接MySQL数据库,在Query Editor中输入以下SQL语句创建数据库和数据表:CREATE DATABASE experiment;USE experiment;CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(20),age INT,gender VARCHAR(2),);2.插入数据在Query Editor中输入以下SQL语句插入数据:INSERT INTO student(id,name,age,gender) VALUES(1,'Tom',22,'男'),(2,'Lucy',20,'女'),(3,'Mike',25,'男'),(4,'Susan',23,'女');3.查询数据在Query Editor中输入以下SQL语句查询数据:SELECT * FROM student;4.更新数据在Query Editor中输入以下SQL语句更新数据:UPDATE student SET age=26 WHERE name='Mike';5.删除数据在Query Editor中输入以下SQL语句删除数据:DELETE FROM student WHERE name='Susan';四、实验总结通过本次实验,我掌握了SQL语句的基本使用方法,了解了数据库的基本概念,学会了使用Navicat进行数据库操作。
数据库上机实验8实验报告第一篇:数据库上机实验8实验报告上机实验八——完整性约束的实现一、实习目的:掌握SQL中实现数据完整性的方法,加深理解关系数据模型的三类完整性约束。
二、实习准备:1.复习“完整性约束SQL定义”2.完成习题四第10题中的各项操作的SQL语句。
3.了解SQL Server 中实体完整性、参照完整性和用户自定义完整性的实现手段三、实习内容:1.验证习题四第10题四个表结构的SQL语句。
表一:Sstudent CREATE TABLE Sstudent(Sno char(7)NOT NULL PRIMARY KEY, Sname VarChar(20)NOT NULL, Ssex Char(2)NOT NULL DEFAULT('男')check(Ssex IN('男','女')), Sage smallint check(Sage >14 AND Sage<65), Clno Char(5)NOT NULL REFERENCES Cclass(Clno)ON UPDATE CASCADE);表二:Ccourse CREATE TABLE Ccourse(Cno Char(1)NOT NULL PRIMARY KEY, Cname VarChar(20)NOT NULL, Credit Smallint CHECK(Credit IN(1,2,3,4,5,6)));表三:Cclass CREATE TABLE Cclass(Clno Char(5)NOT NULL PRIMARY KEY, Speciality VarChar(20)NOT NULL, Inyear Char(4)NOT NULL, Number Integer CHECK(Number>1 AND Number<100), Mointor Char(7)REFERENCES Student(Sno));表四:Ggrade CREATE TABLE Ggrade(Sno Char(7)NOT NULL REFERENCES Student(Sno)ON DELETE CASCADE ON UPDATE CASCADE, Cno Char(1)NOT NULL REFERENCES Course(Cno)ON DELETE CASCADE ON UPDATE CASCADE, GmarkNumeric(4,1)CHECK(Gmark>0 AND Gmark<100), PRIMARY KEY(Sno,Cno));2.SQL Server中提供了那些方法实现实体完整性、参照完整体和用户自定义完整性答:实体完整性:是通过主码的定义(PRIMARY KEY)来实现的;参照完整性:是利用外部码(REFERENCES)的说明,以限制相关表中某些属性的取值,当用户违反规则时,提供三种:RESTRICT (限制策略),CASCADE(级联策略),SET NULL(置空策略);用户自定义完整性:check约束,对元组的CHECK约束第二篇:数据库上机实验报告兰州理工大学学生上机报告学院计算机与通信学院课程名称数据库原理学生姓名侯予南学号05550204专业班级基地班05级1班上机日期2008年4月17日指导教师李明上机实验报告(一)实验内容:1、熟悉SQL Server 2000应用环境;熟悉查询分析器的使用方法;2、运行课堂示例:建立表T eacher , Course ;进行数据插入、查询、更新、建立视图、创建触发器等操作;3、完成作业(P108 第5题,P145第5题);4、完成实验报告。
实验一(1)无条件单表查询select sname NAME,'year of birth:' BIRTH,2004-sage BIRTHDAY,LOWER(sdept) DEPARTMENT FROM student;(2)有条件单表查询SELECT sname,sdept,sage FROM student WHERE sage NOT BETWEEN 20 AND 23;(3)单表嵌套(一层)查询SELECT sno,sname,sdept FROM student WHERE sdept IN(SELECT sdept FROM student WHERE sname='刘晨');(4)复合条件多表查询SELECT student.sno,sname,cname,grade FROM student ,sc,course WHERE student.sno=sc.sno AND o=o;(5)使用COUNT()的单表查询SELECT COUNT(*) FROM student;(6)使用AVG()的单表查询SELECT AVG(grade) '平均成绩' from SC where CNO='1';(7)查询结果分组SELECT cno,COUNT(sno) '人数' FROM sc GROUP BY cno;(8)查询结果排序SELECT * FROM student ORDER BY sdept,sage DESC;(9)使用通配符的查询SELECT sname,sno,ssex FROM student WHERE sname NOT LIKE'刘%';(10)使用换码字符的单表查询SELECT cno,ccredit FROM course WHERE cname LIKE 'DB\_Design'ESCAPE'\';(11)插入单个元组插入一个新学生元组Insert into student (sno,sname,ssex,sdept,sage) values ('200215128','陈冬','男','IS',18)(12)插入子查询结果对每一个系,求学生平均年龄,并把结果存入数据库Create table dept_age(sdept char(15),avg_age int)Insert into dept_age(sdept,avg_age) select sdept,avg(sage) from student group by sdept(13)修改某个元组的值将学生200215121的年龄改为22岁Update student set sage=’22’ where sno=’200215121’(14)修改多个元组的值将所有学生的年龄增加一岁Update student set sage=sage+1(15)删除一个元组的值删除学号为200215128的学生记录delete from student where sno='200215128'(16)建立视图建立信息系学生的视图create view is_student as select sno,sname,sage from student where sdept='IS'×(17)查询视图查询选修了1号课程的信息系学生信息Select is_student.sno,sname from is_student,sc where is_student.sno=sc.sno and o=’1’×(18)更新视图将信息系学生视图is_student中学号为95001的学生姓名改为李楠update is_student set sname='李楠' where sno='95002'将下列问题用SQL命令表示:1.查询‘IS’系学生的学号、姓名、性别。
SELECT sno,sname,ssex FROM student WHERE sdept='IS';2.查询‘IS’系年龄在20岁以下的学生。
SELECT * FROM student WHERE sdept='IS'AND sage<20;3.查询所有不姓‘刘’的学生的学号、姓名、性别。
SELECT sname,sno,ssex FROM student WHERE sname NOT LIKE'刘%';4. 查询student表中学生的总人数。
SELECT COUNT(*) '总人数' FROM student;5. 查询和‘李勇’同性别的所有同学的姓名。
SELECT sname from student where ssex in(select ssex from student where sname='李勇');6. 查询和‘李勇’同性别并同系的所有同学的姓名。
Select sname from student where ssex in (select ssex from student where sname='李勇') and sdept in (select sdept from student where sname='李勇')7. 查询选修2号课程的学生的学号。
Select sno from sc where cno='2'8. 求3号课程的平均成绩。
Select avg(grade) from sc where cno=’3’9.查询选修2号课程的学生的最高分。
Select max(grade) from sc where cno=’2’10.按成绩降序排列,输出‘IS’系学生选修了2号课程的学生的姓名和成绩。
Select sname,grade from student,sc where sdept='IS' and cno='2' and student.sno=sc.sno order by gradeSQL查询分析器下建数据库的命令代码:create database 霍双双200826352on(name='霍双双200826352_data',filename='E:\霍双双20082635\霍双双200826352_data.mdf',size=10mb,maxsize=50mb,filegrowth=10%)log on(name='霍双双200826352_log',filename='E:\霍双双20082635\霍双双200826352_log.ldf',size=10mb,maxsize=50mb,filegrowth=10%)在查询分析器重建立各表的命令代码:建立student表:create table student(sno char(5) primary key,sname char(20),ssex char(2),sage int,sdept char(15))建立course表:create table course(cno char(2)primary key,cname char(15),cpno char(2),ccredit int)建立cs表:use 霍双双200826352create table sc(sno char(5),cno char(2),grade smallint,primary key(sno,cno),foreign key(sno)references student(sno),foreign key(cno)references course(cno))实验二T-SQL查询、存储过程、触发器、完整性上机作业题第一部分:T-SQL程序设计(1).如果3号课程的平均成绩在80分以上,则输出“3号课程成绩良好”,否则输出“3号成绩一般”declare @avg float set @avg=(select avg(grade)from sc where cno='3')if @avg>80print'3号课程成绩良好'else print'3号成绩一般'(2)计算并输出95003号学生的平均成绩,若无该生信息,则显示“该生未选课”,提示信息.declare @avg float if(select count(*)from sc where sno='95003')=0 print '该生未选课' else begin select @avg=avg(grade)from sc where sno='95003' print'95003号学生平均成绩' print @avg end(3).如果有成绩在90分以上的学生,则显示他的学号,课程和成绩,否则显示“没有学生的课程成绩在90分以上”提示信息declare @text char(10) if exists(select grade from SC where grade>90)select Sno,Cno,Grade from SC where Grade>90 else begin set @text='没有学生的课程成绩在90分以上' print @text end×(4).利用游标逐行显示student表中的记录。
declare stu cursor for select *from student open stu fetch next from stu while @@fetch_status=0 fetch next from stu close stu deallocate stu(5).用自定义函数计算全体男生的平均年龄create function avg_age(@sex char(2)) returns intas begin declare @aver int select @aver=(select avg(Sage) from Student where Ssex=@sex )return @aver enddeclare @aver1 int,@sex char(2) set @sex='男' select @aver1=dbo.avg_age(@sex)select @aver1 as '全体男生的平均年龄'go(6).显示course表中课程名的前2个字符。