SQL数据库实验一 简单数据查询
- 格式:docx
- 大小:19.17 KB
- 文档页数:3
sql数据库实验报告目录1. 实验概述 (2)1.1 实验目的 (2)1.2 实验背景 (3)1.3 实验内容 (4)1.4 实验环境 (5)2. 数据库设计 (5)2.1 数据库概念 (6)2.2 表结构设计 (8)2.2.1 表1名称及字段定义 (9)2.2.2 表2名称及字段定义 (10)2.3 关系约束 (11)3. SQL语句操作 (12)3.1 数据插入 (13)3.2 数据查询 (14)3.2.1 根据条件查询 (15)3.2.2 聚合函数查询 (16)3.2.3 连接查询 (17)3.3 数据更新 (18)3.4 数据删除 (20)4. 实验结果展示 (21)4.1 SQL语句执行结果 (22)4.2 数据分析及解释 (22)4.2.1 查询结果的意义 (24)4.2.2 数据之间的关系性分析 (24)5. 实验总结与展望 (25)5.1 实验总结 (26)5.2 总结得到的经验与教训 (27)5.3 进一步研究建议 (29)1. 实验概述本实验旨在通过实践操作,实验内容涵盖了常见数据库操作,包括表创建、数据插入、查询、修改和删除。
通过完成实验,我们将学习如何使用SQL语句来管理和处理数据库数据,掌握常用的 SELECT、INSERT、UPDATE、DELETE 语句以及 JOIN 操作等,并熟悉数据库的操作流程和概念。
本实验旨在提升 SQL 数据库操作技能,并为后续更深入的数据库学习和应用打下基础。
您可以根据实际实验内容对以上段落进行修改和完善,具体修改点包括:明确实验的主题和目标,例如:实验主题可能是某个特定数据库管理系统(如MySQL、PostgreSQL等)的应用,目标可能是学习该数据库特定的功能特性。
1.1 实验目的本次实验旨在通过实际操作,验证和巩固SQL语言在关系型数据库管理中的应用能力,并加深对数据库设计、数据操作以及数据查询与分析的理解。
具体实验目的包括:学习SQL基础:掌握SQL语言的基本语法和常用命令,包括数据类型定义、表格创建、插入、更新和删除操作。
资源与环境科学学院实验报告一、上机实习名称:SQL Server的安装及数据库的建立二、实验目的:1、通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。
2、熟悉对DBMS的操作3、熟悉如何使用SSMS和SQL建立数据库和表,并加深对于完整性的理解。
三、实验内容:1、根据安装文件的说明安装数据库管理系统。
2、学会启动和停止数据库服务,思考可以用哪些方式来完成启动和停止。
3、掌握管理工具的使用(1)SQL Server Management Studio的使用➢连接服务器的方法➢查询分析器的使用(2)配置管理器的使用4、了解数据库系统的逻辑组件:它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。
今后将学习如何操作这些数据库对象。
5.在SSMS中创建数据库和表四、实验步骤1. SQL Server 2008的体系结构和特点介绍SQL Server 是一个关系数据库管理系统。
由微软公司2008年第三季度正式发布, SQL Server 2008是一个重大的产品版本,在安全性、可用性、易管理性、可扩展性、商业智能等方面有了更多的改进和提高,对企业的数据存储和应用需求提供了更强大的支持和便利,使得它成为迄今为止最强大和最全面的SQL Server版本。
SQL Server 2008 版本体系:根据不同的用户类型和使用需求,微软公司推出了5种不同的SQL Server版本,包括企业版(Enterprise)、标准版(Standard)、工作组版(Workgroup)、学习版(Express)和移动版(Compact)Microsoft SQL Server 2008系统由4个主要部分组成。
这4个部分被称为4个服务,这些服务分别是数据库引擎、分析服务、报表服务和集成服务。
2. SQL Server管理工作室的启动打开windows控制面板—管理—服务,启动SQL Server 服务,如下图(1)开始→程序→Microsoft SQL Server 2008→SQL Server Management Studio(如图1.1所示)。
SQL数据库实验报告数据查询南京信息工程大学实验(实习)报告实验(实习)名称数据查询实验(实习)日期11.25 得分指导教师系计算机系专业网络工程年级班次姓名学号一.实验目的1. 观察查询结果, 体会S ELECT 语句实际应用;2. 要求学生能够在查询分析器中使用S ELECT 语句进行简单查询。
3. 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
二.实验内容1. 简单查询操作2. 连接查询操作三.实验步骤原始数据图学生表:课程表:选课表① 求计算机系的学生学号和姓名;② 求选修了课程的学生学号;③ 求选修C1 课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列④ 求选修课程C1 且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出;⑤求计算机系和数学系的姓张的学生的信息;⑥求缺少了成绩的学生的学号和课程号。
查询每个学生的情况以及他(她)所选修的课程;求生的学号、姓名、选修的课程名及成绩选修C1 课程且成绩在90 分以上的学生学号、姓名及成绩;查询每一门课的间接先行课。
内容二一.实验目的1.掌握子查询的表示。
2.进一步掌握S QL Server 查询分析器的使用方法,加深对S QL 语言的嵌套查询语句的理解二.实验内容1)求选修了高等数学的学生学号和姓名;2)求C1 课程的成绩高于张三的学生学号和成绩3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生))求其他系中比计算机系学生年龄都小的学生信5)求选修了C2 课程的学生姓名;6)求没有选修C2 课程的学生姓名;7)查询选修了全部课程的学生的姓名)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。
2.提高操作实验1) 求供应项目j4 红色零件的供应商号及名称2) 求没有上海供应商生成的零件的项目号3)至少使用了供应商S5 所供应全部零件的项目号内容三:一.实验目的1. 熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
实验一简单数据查询
一、实验目的
掌握利用select语句进行简单数据查询。
二、实验要求
写出实训时碰到的问题以及解决问题的办法,完成本次实训的体会。
三、实验内容
1.从student表中检索学生所在班级编码,并消除重复行
2.检索课程表(course)中的教师名、课程号、课程名称,要求检索结果按照教师名降序排序
3.检索课程表(course)信息,显示课程号大于’005’的课程编号及课程名称,只显示结果中前15行
4.检索每位教师所上课程的平均报名人数,只显示平均报名人数在25到35人之间的教师
5.查看部门编号为“03”的部门名称。
6.查看部门名称中包含有“工程”两个字的系的全名。
7.显示共有多少个部门。
8.显示“01”年级共有多少个班级。
9.查看在“周二晚”上课的课程名称和教师。
10.查看姓“张”、“陈”、“黄”同学们的基本信息,要求按照姓名降序排列查询结果。
四、实验作业
严格按照各题要求做实验,在实训报告中,需要对知识点进行描述,撰写实验过程及过程中遇到的难点,并给出解决办法或新的心得体会。
数据库原理实验报告实验三数据查询班级:×××姓名:×××学号:×××数据查询一、[实验目的]1.掌握SQL的单表查询操作2.掌握SQL的连接查询操作3.掌握SQL的嵌套查询操作4.掌握SQL的集合查询操作二、[实验内容]本实验的主要内容是:1.简单查询操作。
包括投影、选择条件表达,数据排序,使用临时表等。
2.连接查询操作。
包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。
3.在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。
4.组合查询与统计查询。
(1)分组查询实验。
该实验包括分组条件表达、选择组条件的表达方法。
(2)使用函数查询的实验。
该实验包括统计函数和分组统计函数的使用方法。
(3)组合查询实验。
(4)计算和分组计算查询的实验。
三、[实验方法]1.将查询需求用Transact-SQL语言表示。
2.在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。
3.设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。
4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。
5查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。
查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。
图5- 错误!未定义书签。
SQL Server 2000查询分析器查询分析器的界面如图5- 错误!未定义书签。
所示。
在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果。
实验报告课程名称数据库原理与应用实验名称数据查询系别专业班级指导教师学号姓名实验日期_实验名称:数据查询一、实验目的1.熟悉各种基本的数据查询的含义。
2.掌握数据查询的SQL语句编写方法。
3.能根据要求写出正确的查询语句。
4.掌握基本的调试方法。
二、实验环境1.硬件环境:微机2.软件环境:Windows,Sql server2000或更高版本三、实验内容及步骤题目根据要求编写以下SQL查询语句第一题简单查询1.查询病人表,显示所有病人的病人编号、保险公司名称、电话号码(别名:病人电话)。
2.查询病人表,显示病人编号、病人姓名(病人姓+病人名)、保险公司名称,并在每个“电话号码”前面显示字符串“病人电话:”。
3.查询病人表,要求显示保险公司名称,并消除重复的值。
4.查询病人表,要求只显示前五条的全部病人信息。
5.查询病人表,要求显示最年轻的前6位病人的病人编号,病人姓名,病人年龄6.给医生表取别名:doctors,并显示医生表的所有信息7.要求查询在“人民保险公司”投保的所有病人的信息8.要求查询病人年龄在20~60岁之间的所有病人信息9.要求查询姓“王”、姓“李”或姓“关”的所有病人的信息。
(提示:用“in”或者用“or”两种方法查询。
)10.查询电话号码为空的病人信息11.要求按年龄从大到小显示病人信息12.要求先按病人姓的升序;如果姓一样,再按年龄的降序,来显示病人信息13.要求查询电话号码的最后一个数字为6的病人编号,病人姓名,电话号码14.要求查询倒数第二个数字为7的病人编号,病人姓名,电话号码。
15.要求查询除区号外的第二个数字为2的病人编号,病人姓名,电话号码。
(注:手机号不算。
)16.要求查询电话号码的最后一个数字为6、为3、为1的病人编号,病人姓名,电话号码。
(注:至少两种方法可以实现)17.要求查询电话号码的最后一个数字除1、3、6外的病人编号,病人姓名,电话号码。
步骤(写出以上SQL语句)--1.查询病人表,显示所有病人的病人编号、保险公司名称、电话号码(别名:病人电话)。
查询练习一、简单查询(无条件查询):1、查询“学生档案”表中所有的记录SELECT * FORM 学生档案2、查询“学生档案”表中全体学生的姓名、学号、家庭地址SELECT 姓名, 学号, 家庭地址 FROM 学生档案二、有条件查询1、查询“成绩管理”表中语文成绩在80分以下的学生的学号。
SELECT 学号 FROM 成绩管理 WHERE 语文<802、查询“成绩管理”表中语文成绩在80分到90分之间的学生的学号,语文,数学,英语成绩。
SELECT 学号,语文,数学,英语FROM成绩管理WHERE 语文 >= 80 AND 语文<=90==(语文 BETWEEN 80 AND 90)3、查询“成绩管理”表中数学成绩不在75分到85分之间的学生的学号,语文,数学,英语成绩。
SELECT 学号,语文,数学,英语FROM 成绩管理WHERE 数学 NOT BETWEEN 75 AND 854、查询“学生档案”表中李成刚,刘艺梅,郑莉三名学生的信息。
SELECT *FROM 学生档案WHERE 姓名 IN (“李成刚”,“刘艺梅”,“郑莉”)==(姓名 =“李成刚” OR 姓名=“刘艺梅” OR 姓名=“郑莉”)5、查询“学生档案”表中所有姓张的学生的姓名、学号和性别SELECT 姓名,学号,性别 FROM学生档案WHERE 姓名 LIKE “张*”6、查询“学生档案”表中所有姓张且全名为三个汉字的学生的姓名SELECT 姓名FROM 学生档案WHERE姓名 LIKE “张??”7、查询“学生档案”表中第二个字符为“建”字的学生的学号和姓名SELECT 学号,姓名FROM 学生档案WHERE姓名 LIKE “?建*”8、查询“学生档案”表中家庭住址为“人民路”和“育才路”的学生学号,姓名,性别和家庭住址。
SELECT 学号,姓名,性别,家庭住址FROM 学生档案WHERE家庭住址 LIKE “人民路*” OR家庭住址 LIKE “育才路*”9、查询“学生档案”表中所有团员的学生班级和姓名。
SQL数据库的查询⽅法简单查询:⼀、投影select * from表名select列1,列2... from表名select distinct 列名from表名⼆、筛选select top 数字列|* from表名(⼀)等值与不等值select * from表名where列名=值select * from表名where列名!=值select * from表名where列名>值select * from表名where列名<值select * from表名where列名>=值select * from表名where列名<=值(⼆)多条件与范围select * from表名where条件1 and|or 条件2 ...select * from表名where between ... and ...select * from表名where列in (值列表)(三)模糊查询 like % _select * from表名where列 like '%_....'三、排序select * from表名where条件 order by 列名 ASC|DESC,列名 ASC|DESC四、分组:统计函数(聚合函数)count(), max(), min(), sum(), avg()count()统计总⾏数count(*)得到所有的⾏数count(列)得到该列中所有⾮null个数。
select COUNT(*) from car where Brand='b003'max(列) 这⼀列的最⼤,min(列)这⼀列的最⼩select min(price) from carsum(列)这⼀列的和,avg(列)这⼀列的平均select AVG(price) from cargroup by ...having...1.group by后⾯跟的是列名。
2.⼀旦使⽤group by分组了,则select和from中间就不能⽤*,只能包含两类东西⼀类是:group by 后⾯的列名,另⼀类是统计函数select Oil,avg(price) from Car group by oil对于统计函数⽣成的列,默认是⽆列名,可以通过下⾯的⽅法指定列名。
SQL数据的查询和更新实验报告报告实验三、SQL的数据查询1、实验目的熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。
2、实验内容实验内容主要是对数据库进行查询操作,包括如下四类查询方式:单表查询查询的目标表达式为所有列、指定的列或指定的列的运算三种不同。
使用DISTINCT保留字消除重复行。
对查询结果排序和分组。
集合分组使用集函数进行各项统计。
连接查询笛卡儿连接和等值连接。
自连接。
外连接复合条件连接。
多表连接。
嵌套查询通过实验验证对子查询的两个限制条件。
体会相关子查询和不相关子查询的不同。
考察四类谓词的用法,包括:第一类,IN、NOT IN;第二类,带有比较运算符的子查询;第三类,SOME、ANY或ALL谓词的子查询,查询最大值和最小值;第四类,带有EXISTS谓词的子查询,实现“所有”等情况集合运算使用保留字UNION进行集合或运算。
采用逻辑运算符AND或OR来实现集合交和减运算。
3、实验步骤以University_Mis数据库为例,该数据库中有四张如实验一,其中Score是每门课的考试成绩,Scredit是学生所有考试合格课程所获得的积分总数,Ccredit每门课程的学分数。
在数据库中,存在这样的联系:学生可以选择课程,一个课程对应一个教师。
在表Reports中保存学生的选课记录和考试成绩。
1请先输入如下元组,再对数据库进行有关的查询操作:图、Students表图、Teachers表图、Courses表图、Reports表2查询性别为“男”的所有学生的名称并按学号升序排列。
查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。
积分的计算公式为:[1+(考试成绩-60)*]*Ccredit。
考试成绩>=60。
查询学分是3或4的课程的名称。
查询所有课程名称中含有“算法”的课程编号。
查询所有选课记录的课程号。
统计所有老师的平均工资。
数据库实验1:SQL查询操作题目:设有一个SPJ数据库,包括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由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。
工程项目表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
今有若干数据如下:S表:SNO SNAME STATUS CITYS1 精益20 天津S2 盛锡10 北京S3 东方红30 北京S4 丰盛泰20 天津S5 为民30 上海P表:PNO PNAME COLOR WEIGHTP1 螺母红12P2 螺栓绿17P3 螺丝刀蓝14P4 螺丝刀红14P5 凸轮蓝40P6 齿轮红30J表:JNO JNAME CITY J1 三建北京J2 一汽长春J3 弹簧厂天津J4 造船厂天津J5 机车厂唐山J6 无线电厂常州J7 半导体厂南京SPJ表:SNO PNO JNO QTY S1 P1 J1 200S1 P1 J3 100S1 P1 J4 700S1 P2 J2 100S2 P3 J1 400S2 P3 J2 200S2 P3 J4 500S2 P3 J5 400S2 P5 J1 400S2 P5 J2 100S3 P1 J1 200S3 P3 J1 200S4 P5 J1 100S4 P6 J3 300S4 P6 J4 200S5 P2 J4 100S5 P3 J1 200S5 P6 J2 200S5 P6 J4 500首先进行创建数据库、表,插入数据等操作。
实验一简单数据查询
1.从student表中检索学生所在班级编码,并消除重复行
selectdistinct ClassNo from Student
2.检索课程表(course)中的教师名、课程号、课程名称,要求检索结果按照教师名降序排序
select Teacher '教师名',CouNo'课程号',CouName'课程名称'
from Course
orderby Teacher desc
3.检索课程表(course)信息,显示课程号大于’005’的课程编号及课程名称,只显示结果中前15行
selecttop 15 CouNo'课程号',CouName'课程名称'
from Course
where CouNo>005
4.检索每位教师所上课程的平均报名人数,只显示平均报名人数在25到35人之间的教师
select Teacher '教师名'
from Course
groupby Teacher
having cast(avg(WillNum)asdecimal(5,2))between 25 and 35
5.查看部门编号为“03”的部门名称。
select DepartName
from Department
where DepartNo='03'
6.查看部门名称中包含有“工程”两个字的系的全名。
select DepartName
from Department
where DepartName like'%工程%'
7.显示共有多少个部门。
select count(*)'部门总数'
from Department
8.显示“01”年级共有多少个班级。
select count(*)'01级共有班级数'
from Class
where ClassNo like'2001____'
9.查看在“周二晚”上课的课程名称和教师。
select CouName'课程名称',Teacher '教师名'
from Course
where SchoolTime='周二晚'
10.查看姓“张”、“陈”、“黄”同学们的基本信息,要求按照姓名降序排列查询结果。
select*from Student
where StuName like'张%'or StuName like'陈%'or StuName like'黄%'
orderby StuName desc。