数据库实验报告 SQL语言
数据库原理及实验报告
实验6 视图
实验目的:1)掌握交互式创建、删除视图的方法
2)掌握使用SQL创建、删除视图的方法
3)掌握交互式更新视图的方法
4)掌握使用SQL更新视图的方法
实验内容
6.1实验题目:创建视图
实验过程:1)交互式创建视图VIEW_S
2)交互式创建成绩视图VIEW_SCORETABLE
3)使用SQL创建课程表视图VIEW_CTABLE
实验结果:
6.2实验题目:修改视图
实验过程:1)使用交互式方法把视图VIEW_S中的字段SNO删掉
2)使用SQL为视图VIEW_CTABLE增加一个课时字段CT tiny int
实验结果:
6.3实验题目:通过视图修改数据库数据
实验过程:1)交互式通过修改视图VIEW_S中的数据来实现对其基本表S中数据的修
改
2)对视图VIEW_S执行INSERT语句,查看此视图的基本表S中数据的变化
3)修改视图VIEW_S的定义,使其包含表S中的主键,再执行插入操作
4)用SQL语句对视图VIEW_S执行DELETE操作,查看此视图的基本表S中
数据的变化
实验结果:
6.4实验题目:删除视图
实验过程:1)交互式删除视图VIEW_S
2)使用SQL删除视图VIEW_CTABLE
实验结果:
实验7 数据查询
实验目的:1,掌握从简单到复杂的各种数据查询。包括,单表查询、多表连接查询、嵌套
查询、集合查询。
2,掌握用条件表达式表示检索结果。
3,掌握用聚合函数计算统计检索结果。
实验7.1 单表查询
实验目的:1,掌握指定列或全部列查询。
2,掌握按条件查询。
3,掌握对查询结果排序。
4,掌握使用聚集函数的查询。
5,掌握分组统计查询。
实验内容:1,指定或全部列查询。
2,按条件查询及模糊查询。
3,对查询结果排序。
4,使用聚集函数的查询。
5,分组统计查询。
实验7.2 连接查询
实验目的:掌握设计一个以上数据表的查询方法。多表之间的连接包括等值连接、自然连接、
非等值连接、自身连接、自身连接、外连接和复合连接。
实验内容:1,连接查询,查询所有选课学生的学号、姓名、选课名称及成绩。
查询每门课程的课程号、任课教师姓名及其选课人数。
2,自身连接,查询所有比刘伟工资高的的教师的姓名、工资及刘伟的工资。
查询同时选修了程序设计和微机原理的学生的姓名、课程号。
3,外连接,查询所有学生的学号、姓名、选课名称及成绩(没有选课的学生的
选课信息显示为空)
实验结果
实验7.3 嵌套查询
实验目的:掌握嵌套查询使我们可以用多个简单查询构成复杂的查询。从而增强了SQL的
查询能力。
实验内容:1,返回一个值的子查询,查询与刘伟教师职称相同的教师号、姓名和职称。
2,返回一组值的子查询,使用ANY谓词查询讲授课程号为C5的教师姓名。
使用IN谓词查询讲授课程号为C5的教师姓名。使用ALL谓词查询其他系中比计算机系所
有教师工资都高的教师的姓名、工资、使用EXISTS谓词查询没有讲授课程号为C5的课程
的教师姓名、所在系.使用NOT EXISTS谓词查询至少选修了学生S2选修的全部课程的学生
的学号。
实验结果
实验7.4 集合查询
实验目的:掌握使用UNION操作符将来自不同查询但结构相同的数据集合组合起来,形成
一个具有综合信息的查询结果。
实验内容:查询年龄不大于19岁或者属于计算机系的学生,步骤如下:打开新建查询窗口,
创建SQL语句。执行语句。
实验结果
实验十.T-SQL程序设计与游标设计
实验目的
掌握Transact-SQL语言及其程序设计的方法
掌握T-SQL游标的使用方法
实验10.1 T-SQL程序设计逻辑
实验目的
掌握T-SQL程序设计的控制结构及程序设计逻辑
实验内容
(1) 计算1~100之间所有能被3整除的数的个数和总和。
(2) 从学生表S中选取SNO,SN,SEX,如果为“男”则输出M,如果为“女”则输出F。
实验 10.2 面向复杂T-SQL程序设计
实验目的
掌握面向复杂应用的T-SQL程序设计方法。
实验内容
(1) 从教学数据库jxsk中查询所有同学选课成绩情况:姓名,课程名,成绩。要求:凡
成绩为空者输出“未考”;小于60分的输出“不及格”;60~70分的输出“及格”;
70~80分的输出“中”;80~90分输出“良好”;90~100分输出优秀。并且输出记录
按照下面要求排序:先按SNO升序,再按CNO升序,最后按成绩降序。
(2) 现给教师增加工资。要求:必须任两门以上课程且涨幅按总收入分成三个级别:4000
元以上涨300;3000元以上涨200;3000元以上涨100。只任一门课程的涨50.其他
情况不涨。
实验 10.2 使用游标
实验目的
学习和理解关系数据中游标的概念和设计思想。
掌握使用T-SQL游标处理结果集的方法。
实验内容
针对数据库jiaoxuedb,进行下面的实验:
(1).定义一个游标Cursor_Famale。要求该游标返回所有女同学的基本信息,在游标中查
找并显示牛莉的记录。
(2).创建一个一个储存过程Pro_C,返回一个包含所有选修数据库课程的学生基本信息的游
标。利用该存储过程,通过学生姓名查找学生王一山是否选修了数据库课程以及成绩。
《主流数据库系统与应用(SQL)》课程实验报告4
实验内容与完成情况:1: 创建触发器1、在数据库 Company_Data的表"项目数据表"和"员工数据表"中分别创建触发器。
基于表"员工数据表"创建AFTER INSERT 触发器 Tigger_NewEmployeeSalary, 将插入员工的工资额限制在 5000以内。
create trigger Tigger_NewEmployeeSalary on Employee for insertasalter table Employee add constraint ck_Salary check(insered.工资<5000)Go2.书写CREATE TRIGGER语句, 基于表"员工数据表"创建AFTER UPDATE触发器Trigger_SalaryChange, 将员工工资变动额限制在2000以内。
create trigger Trigger_SalaryChange on Employeefor updateasbegindeclare @sal moneyselect @sal=工资 from updatedif @sal<2000update Employeeset 工资=2000End2: 创建存储过程在数据库Company_Data中创建存储过程Procedure_SalaryByDept, 要求返回某一特定部门所有员工的工资总和, 其中特定部门的名称以存储过程的输入参数进行传递。
在查询窗口书写 CREATE PROCEDURE Transact-SQL语句创建存储过程Procedure_SalaryByDept, 并带有一个输入参数@Department用于传递部门名称, 一个输出参数@TotalSalary用于传递输出结果。
(3)选择所属部门为该参数传递的部门名称的所有记录, 并对其工资字段求和。
实验三SQL语言的DDL实验报告
实验三SQL语言的DDL实验报告实验目的:掌握SQL语言中的DDL(数据定义语言)的使用方法,包括创建和删除数据库、创建和删除数据表、修改数据表结构等。
实验环境:MySQL数据库实验内容:1.创建数据库:在MySQL中,使用CREATEDATABASE语句来创建数据库。
语法如下:CREATE DATABASE database_name;例如,创建名为"student"的数据库:CREATE DATABASE student;2.删除数据库:在MySQL中,使用DROPDATABASE语句来删除数据库。
语法如下:DROP DATABASE database_name;例如,删除名为"student"的数据库:DROP DATABASE student;3.创建数据表:在MySQL中,使用CREATETABLE语句来创建数据表。
语法如下:CREATE TABLE table_namecolumn1 data_type,column2 data_type,...例如,创建名为"student"的数据表,包含id、name、age三个列:CREATE TABLE studentid INT,name VARCHAR(255),age INT4.删除数据表:在MySQL中,使用DROPTABLE语句来删除数据表。
语法如下:DROP TABLE table_name;例如,删除名为"student"的数据表:DROP TABLE student;5.修改数据表结构:在MySQL中,使用ALTERTABLE语句来修改数据表结构。
语法如下:ALTER TABLE table_nameADD column_name data_type;ALTER TABLE table_nameMODIFY column_name data_type;ALTER TABLE table_nameDROP column_name;例如,向名为"student"的数据表中添加一个新的列"gender":ALTER TABLE studentADD gender VARCHAR(10);6.实验过程:首先,在MySQL中创建一个名为"student"的数据库:CREATE DATABASE student;然后,切换到"student"数据库:USE student;接着,创建一个名为"student_info"的数据表,包含id、name、age 三个列:CREATE TABLE student_infoid INT,name VARCHAR(255),age INT然后,向"student_info"数据表中插入一条记录:INSERT INTO student_info (id, name, age) VALUES (1, '张三', 20);接下来,修改"student_info"数据表的结构,添加一个新的列"gender":ALTER TABLE student_info ADD gender VARCHAR(10);最后,查询"student_info"数据表的内容,确认修改成功:SELECT * FROM student_info;实验结果:成功创建了名为"student"的数据库,并在其中创建了一个名为"student_info"的数据表。
实验报告2 关系数据库标准语言SQL
实验2:关系数据库标准语言SQL一.实验目的通过本实验使学生掌握SQL语言的数据定义功能、数据查询功能和数据操纵功能。
二.实验类型验证型三.实验学时4学时四.实验原理及知识点1.SQL语言的数据查询功能2.SQL语言的数据定义功能3.SQL语言的数据操纵功能五.实验环境1.硬件设备要求:PC及其联网环境;2.软件设备要求:Windows操作系统;MS SQL Server数据库管理系统。
六.实验内容及步骤在STUDENT数据库中,根据要求使用SQL语言完成下列操作,将SQL语句以.sql文件的形式保存在自己的目录下。
1.查询选修了课程的学生的学号。
2.查询学生学号和出生年份。
3.查询计算机系学生的学号、姓名。
4.查询年龄在20岁与22岁之间(包括20和22岁)的学生姓名和年龄。
5.查询学生姓名中含有“波”字的学生情况。
6.查询缺少学习成绩的学生学号和课程号。
7.查询选修C601课程的学生的学号和成绩,并按分数的降序排列。
8.求选修了课程的学生人数。
9.求课程C601的平均成绩。
10.求选修课程超过2门的学生学号。
11.查询参加学习的学生所学的课程号和总分。
12.查询选修高等数学课程且成绩在80分以上的学生的学号、姓名。
13.查询每一课程的间接先行课(即先行课的先行课)。
14.查询年龄低于所有工程系学生的学生姓名、所在系、年龄。
15.找出刘建平老师所开全部课程的课程号、课程名。
16.找出全部课程的任课教师。
17.求学生1203所学课程的总分。
18.找出所有姓张的学生的姓名和籍贯。
19.找出至少一门课程的成绩在90分以上的女学生的姓名。
20.求每一年龄上人数超过2的男生的具体人数,并按年龄从小到大排序。
21.把学生的学号及他的平均成绩定义为一个视图GRADE_VIEW。
22.创建一个从student、course、study表中查出计算机系的学生及其成绩的视图computer_view,要求显示学生的学号sno、姓名name、课程号cno、课程名称cname、成绩grade。
数据库实验报告实验二_交互式SQL
数据库实验报告实验二_交互式SQL一、实验目的1.了解交互式SQL的基本语法和使用步骤;2.掌握在MySQL中创建数据库和表格的方法;3.掌握常用的SQL操作语句。
二、实验环境1. 操作系统:Windows 10;2.数据库管理系统:MySQL。
三、实验内容1.创建数据库和表格(1)启动MySQL服务,在命令提示符窗口中输入以下命令:```mysql -u root -p```(2)输入MySQL的密码,进入MySQL的命令行界面。
(3) 创建一个新的数据库,命名为`student`,输入以下命令:```CREATE DATABASE student;```(4)进入刚刚创建的数据库,输入以下命令:```USE student;```(5) 在`student`数据库中创建一个新的表格,命名为`score`,输入以下命令:```CREATE TABLE scoreid INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),english INT,math INT,physics INT```(6) 使用`DESCRIBE`命令查看新创建的`score`表格的结构,输入以下命令:```DESCRIBE score;```2.插入数据(1) 使用`INSERT INTO`命令向`score`表格中插入数据,输入以下命令:```INSERT INTO score (name, english, math, physics) VALUES ('张三', 80, 90, 85), ('李四', 75, 85, 90);```(2) 使用`SELECT`命令查询`score`表格中的数据,输入以下命令:```SELECT * FROM score;```3.更新数据(1) 使用`UPDATE`命令修改`score`表格中的数据,将`id`为1的记录的英语成绩修改为86,输入以下命令:```UPDATE score SET english = 86 WHERE id = 1;```(2) 使用`SELECT`命令查询`score`表格中的数据,验证英语成绩是否被修改,输入以下命令:```SELECT * FROM score;```4.删除数据(1) 使用`DELETE FROM`命令删除`score`表格中的数据,将`id`为2的记录删除,输入以下命令:```DELETE FROM score WHERE id = 2;```(2) 使用`SELECT`命令查询`score`表格中的数据,验证记录是否被删除,输入以下命令:```SELECT * FROM score;```四、实验总结本次实验主要学习了交互式SQL的基本语法和使用步骤,并通过实践掌握了在MySQL中创建数据库和表格的方法,以及常用的SQL操作语句。
数据库SQL语句实验报告
《数据库原理及应用》实验报告SQL语句部分总成绩:实验一熟悉SQL SERVER,数据定义实验实验一成绩:一、实验目的1、利用查询分析器创建数据库2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作二、实验步骤及内容在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。
1.创建学生课程数据库5.将以上创建表S、C、SC的SQL命令以.SQL文件的形式保存在磁盘上。
6、在表S上增加“出生日期”属性列。
7、删除表S的“年龄”属性列。
8、删除S姓名列的唯一值约束。
9、修改SC表成绩属性列为精确数字型。
10、在表S上,按“Sno”属性列的唯一值方式建立索引。
11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。
12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。
三、实验结果:1.创建学生课程数据库create database Studend;(Sno CHAR(9)PRIMARY KEY,Sname CHAR(20)UNIQUE,Ssex CHAR(2),Sage smallint,Sdept char(20),);3.创建课程关系表C :课程号课程名先行课学分Cno Cname Cpno ccredit(Cno char(4)primary key,Cname CHAR(40),Cpno char(4),Ccredit SMALLINT,);学号课程号成绩Sno Cno grade(Sno char(9),Cno char(4),Grade smallint,);5.将以上创建表S、C、SC的SQL命令以.SQL文件的形式保存在磁盘上。
6、在表S上增加“出生日期”属性列。
alter table S add Sbirthday datetime;7、删除表S的“年龄”属性列。
alter table S drop column Sage;精选文档8、删除S姓名列的唯一值约束。
SQL数据库系统实验报告(含代码、截图)
设有一学籍管理系统,其数据库名为“EDUC”。
初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”(注意:此文件名必须已经建立的前提下才可以此操作)。
日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。
四.实验步骤1.使用SQL Server Management Studio(简称SSMS)创建数据库。
(1)启动SSMS在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。
如果身份验证选择的是“混合模式”,则要输入sa的密码。
(2)建立数据库在“对象资源管理器”窗口,建立上述数据库EDUC。
在数据库节点上右击选择新建。
同时建立一个同样属性的数据库EDUC1。
2. 使用向导删除上面建立的数据库。
用SSMS删除建立的数据库EDUC。
3、数据库的分离将刚建好的数据库分离出来,即点击新建的EDUC——任务——分离,将删除连接和更新打一个钩,然后点击确定。
如图所示:4、数据分离出来之后可以附加进去。
即右击数据库——附加——点击添加按钮,找到数据库文件.mdf所存放的路径,然后点击确定,即可以将我们刚所创建的文件添加回去。
五.实验总结通过本次实验,我熟悉了SQL Server 中SQL Server Management Studio的环境,了解了SQL Server 数据库的逻辑结构和物理结构,掌握使用向导创建和删除数据库的方法。
加深了对数据库的认识和理解。
SQL语言实验报告
《数据库原理及应用》实验报告sql语句部分班级: 11-37-06 学号:姓名:总成绩:实验一熟悉sql server,数据定义实验实验一成绩:一、实验目的1、利用查询分析器创建数据库2、利用查询分析器用sql语言定义基本表、索引并进行相关操作二、实验步骤及内容在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。
1.创建学生课程数据库6、在表s上增加“出生日期”属性列。
7、删除表s的“年龄”属性列。
8、删除s姓名列的唯一值约束。
9、修改sc表成绩属性列为精确数字型。
10、在表s上,按“sno”属性列的唯一值方式建立索引。
11、删除表sc,利用磁盘上保存的.sql文件重新创建表sc。
12、创建教材p74页习题5中spj数据库中的四个关系:s、p、j、spj。
三、实验结果:1.创建学生课程数据库create database studend; 5.将以上创建表s、c、sc的sql命令以 .sql文件的形式保存在磁盘上。
(sno char(9) primary key, sname char(20) unique, ssex char(2), sage smallint,sdept char(20), );3.创建课程关系表c :(cno char(4) primary key, cname char(40), cpno char(4 ), ccredit smallint, ); (sno char(9), cno char(4), grade smallint, ); 5.将以上创建表s、c、sc 的sql命令以 .sql文件的形式保存在磁盘上。
6、在表s上增加“出生日期”属性列。
alter table s add sbirthday datetime;7、删除表s的“年龄”属性列。
alter table s drop column sage;8、删除s姓名列的唯一值约束。
sql 实验报告
sql 实验报告SQL(Structured Query Language)是一种用于管理和操作关系型数据库的编程语言。
在本次实验中,我们学习了SQL的基本语法和常用操作,并通过实际案例进行了实践。
本文将介绍实验过程、实验结果以及对SQL的个人理解和感悟。
实验过程在实验过程中,我们首先学习了SQL的基本语法,包括创建表、插入数据、查询数据、更新数据和删除数据等操作。
然后,我们使用MySQL数据库管理系统进行实验。
通过编写SQL语句,我们创建了一个名为"Employees"的表,并插入了一些员工数据。
接着,我们进行了各种查询操作,如按条件查询、排序、聚合等。
最后,我们还学习了如何更新和删除数据。
实验结果通过实验,我们成功创建了一个名为"Employees"的表,并插入了一些员工数据。
我们可以通过查询语句获得特定条件下的员工信息,如按照年龄查询、按照性别查询等。
我们还学习了如何对数据进行排序,以及如何使用聚合函数计算平均值、最大值和最小值等。
此外,我们还学习了如何使用UPDATE语句更新数据和使用DELETE语句删除数据。
个人理解和感悟通过这次实验,我对SQL的基本语法和操作有了更深入的理解。
SQL作为一种强大的数据库查询语言,可以方便地对关系型数据库进行管理和操作。
通过编写SQL语句,我们可以轻松地实现各种复杂的查询和数据操作。
SQL的语法简洁明了,易于学习和使用。
它提供了丰富的功能和灵活的操作方式,能够满足不同场景下的需求。
在实验过程中,我发现SQL的语法规则十分严格,一旦出现语法错误,就无法正确执行查询或操作。
因此,我在编写SQL语句时更加注重细节,避免出现错误。
同时,我也学会了如何优化SQL语句,提高查询效率。
通过使用索引和合理设计表结构,我们可以加快查询速度,提升系统性能。
此外,我还了解到SQL在实际应用中的广泛性和重要性。
无论是企业的数据管理还是个人的数据分析,SQL都扮演着重要的角色。
数据库实验报告(SQL)
四川师范大学计算机学院实验报告册院系名称:计算机科学学院课程名称:数据库原理概论实验学期2013 年至2014 年第二学期专业班级:网络工程3班姓名:学号:指导教师:**实验最终成绩:《数据库原理》实验大纲课程总学时:64学分:2实验学时:32 实验个数: 7 实验学分: 1课程性质:(专业必修)适用专业:计算机软件工程,计算机科学技术,网络工程,电子商务教材及参考书:数据库系统概论大纲执笔人:俞晓大纲审定人:一、实验课的性质与任务数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。
本实验课程主要是在SQL SERVER 下实现SQL语言的基本操作:建立、修改、删除表格等数据库对象,插入、修改、删除表格中的数据,对数据做多种查询。
并熟悉使用SQL SERVER的系统工具创建数据库,用户等。
最后用VB连接SQL SERVER 做一个简单的数据库系统。
该课程注重教学体系的严密性、教学内容的实用性、知识体系的扩展性。
通过练习,提高学生的动手能力,使学生能较熟练的在SQL SERVER 数据库管理系统中实现数据管理和维护。
二、实验课程目的与要求1.实验目的:本课程的目的和任务是使学生全面地了解和掌握数据库的原理,SQL SERVER系统的基本操作和应用技术,以适应社会对数据库技术应用的大量需求。
2.实验要求:1)实验安排在上机时间进行。
2)实验以前,学生应对实验设计的相关知识点和相关设计技术有所了解3)每个实验要求写出实验报告(实验报告包括:实验内容、目的、实现方法、调试结果)四、实验内容安排:实验1 熟悉SQL SERVER的环境(操作性实验2学时)实验目的了解SQL Server数据库的各个工具软件实验内容使用SQL Server的相关工具,其中包括查询分析器和企业管理器,在查询分析器里写简单的SQL语句,在企业管理器中建立表格等。
数据库SQL实验报告__交互式SQL语言的使用
表:DPT存储系相关信息
表:SC存储选课相关信息
表:Student存储学生的相关信息
表:TC存储授课的相关信息
表:Teacher存储教师的相关信息
相关语句
结果图:
相关语句
结果图
任务2:
数据操作
任务3:
删除操作
相关语句
结果图
出现的问题及解决方案
提示:
打包保存时自己的文件夹以“学号姓名”为文件名,
《数据库原理》实验报告
题目:交互式SQL语言的使用
实验日期和时间:
班级:
学号:
姓名:
实验室:
实验环境:
windows 7操作系统;
SOL Server 2000软件
实验内容及完成情况:[全部使用SQL语言操作]
实验内容:
一、数据定义
1、创建数据库
2、数据库下表的创建、修改并在表中输入数据;
3、索引的创建与删除(删除放在最后)
打包时文件夹内容包括:本实验报告、分离后的数据库、SQL语句。
4、视图的创建与删除(删除放在最后)
二、数据操作
完成各类查询操作(
1、完成了数据库、表、视图、索引的创建;
2、完成了各种修改操作
3、完成了数据库的各种查询工作
4、完成了各种删除工作
任务1:
数据定义
以下为相关语句(标有注释语句)
以下为创建的各种表(从企业管理器中查看的)
