实验报告 数据库的基本查询'
数据库查询实验报告
数据库查询实验报告数据库查询实验报告一、引言数据库查询是数据库管理系统中的重要功能之一,通过查询可以从数据库中获取所需的信息。
本实验旨在通过实际操作,掌握数据库查询的基本方法和技巧,并对查询结果进行分析和解读。
二、实验环境本次实验使用的是MySQL数据库管理系统,该系统具有广泛的应用和较好的稳定性。
实验所需的数据表包括学生表(student)、课程表(course)和成绩表(score)。
三、实验步骤1. 创建数据库和数据表首先,在MySQL中创建一个名为"学生成绩管理系统"的数据库,并创建三个数据表:student、course和score。
其中,student表包含学生的学号、姓名、性别等信息;course表包含课程的编号、名称、学分等信息;score表包含学生的学号、课程编号和成绩等信息。
2. 插入测试数据为了进行查询实验,需要向数据表中插入一些测试数据。
通过INSERT语句,向student表中插入若干学生信息;向course表中插入若干课程信息;向score表中插入若干学生成绩信息。
3. 执行查询语句根据实验要求,设计不同的查询语句,包括简单查询、条件查询、多表连接查询等。
通过执行这些查询语句,可以从数据库中获取所需的信息。
4. 分析查询结果根据查询结果,对数据进行分析和解读。
可以通过统计、排序、分组等方式,对数据进行进一步处理和展示。
例如,可以统计每个学生的平均成绩,对学生成绩进行排名等。
四、实验结果与分析通过实验,我们得到了一些有关学生成绩的查询结果。
根据这些结果,我们可以得出以下结论:1. 学生A的平均成绩为80分,居于全班第一名;2. 课程B的平均成绩最高,为85分;3. 学生C在课程A和课程B中都取得了优异的成绩。
五、实验总结本次实验通过数据库查询的实际操作,使我们对数据库查询的基本方法和技巧有了更深入的了解。
同时,通过对查询结果的分析和解读,我们也对数据有了更全面的认识。
数据库的查询实验报告
数据库的查询实验报告数据库的查询实验报告概述:数据库是现代信息技术中不可或缺的一部分,它用于存储和管理大量的数据。
在数据库中,查询是一项重要的操作,能够帮助用户从海量数据中获取所需信息。
本实验旨在通过对数据库的查询操作进行实验,探索查询语句的编写和优化方法,以及查询结果的准确性和效率。
实验目的:1. 学习和掌握数据库查询语句的基本语法和操作方法;2. 了解查询语句的优化技巧,提高查询效率;3. 熟悉数据库查询结果的处理和分析。
实验环境:本实验使用MySQL数据库管理系统,并在其上进行查询实验。
MySQL是一种开源的关系型数据库管理系统,具有广泛的应用和较高的性能。
实验步骤:1. 数据库准备:创建一个包含学生信息的数据库,并插入适量的测试数据。
例如,可以创建一个名为"students"的表,包含学生的姓名、年龄、性别等字段。
2. 查询语句编写:根据实验需求,编写相应的查询语句。
例如,查询所有男生的姓名和年龄,或者查询年龄大于18岁的学生信息等。
3. 查询语句执行:将编写好的查询语句在MySQL数据库中执行,并观察查询结果。
4. 查询结果分析:对查询结果进行分析,验证查询语句的准确性和查询结果的完整性。
5. 查询优化:根据实验结果,对查询语句进行优化,提高查询效率。
例如,可以使用索引、优化查询条件等方法来加速查询过程。
实验结果:通过实验,我们发现查询语句的编写和优化对查询效率和结果的准确性有着重要影响。
合理使用查询语句中的关键字、操作符和函数,能够更精确地获取所需数据。
同时,通过对查询语句的优化,可以减少数据库的查询时间,提高系统的性能。
在实验中,我们还发现了一些常见的错误和问题。
例如,查询语句中的条件错误、字段拼写错误等,都会导致查询结果不准确或者查询失败。
因此,在编写查询语句时,需要仔细检查语法和逻辑,确保查询的准确性和可靠性。
此外,我们还了解到了数据库索引的重要性。
通过在适当的字段上创建索引,可以大大加快查询的速度。
数据库实验三报告_简单查询和连接查询实验
实验三、简单查询和连接查询实验简单查询和连接查询实验是数据库的基本查询操作,简单查询是只涉及到一个表(基本表或视图)的查询,连接查询是涉及两个表以上的数据连接查询。
1.实验内容和实验要求1.1实验目的了解SQL Server查询分析器的使用方法,加深对SQL 和Transaction-SQL语言的查询语句的理解;掌握表的数据简单查询、数据排序和数据连接查询的SQL表达和查询分析操作方法。
1.2实验内容(1)简单查询实验用SQL表达简单查询操作,包括投影、选择条件表达、数据排序和使用临时表等,通过SQL Server 查询分析器输入,并显示正确结果。
(2)连接查询实验用SQL表达连接查询操作,包括等值连接、自然连接、一般连接等,通过SQL Server 查询分析器输入,并显示正确结果。
1.3实验要求(1)简单查询实验在学生-课程库中,用Transaction-SQL语句表示下列操作,并通过查询分析器实现其查询操作:①求数学系学生的学号和姓名;select 学号,姓名from 学生where 所在系='数学系'S7 吴非S8 丁玉S9 赵名②求选修了课程的学生学号;select distinct 学号from 选课S1③求选修了C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同,则按学号的升序排列;select 学号,成绩from 选课where 课程号='C1'order by 成绩desc,学号asc;S2 93S4 89S1 60S3 NULL④求选修了课程C1且成绩在80-90分之间的学生学号和成绩,将成绩乘以系数0.8输出;select 学号,成绩*0.8from 选课where 课程号='C1' and 成绩between 80 and 90;S4 71.2⑤求数学系或计算机系姓张的学生的信息;select *from 学生where 所在系in('数学系','计算机系') and 姓名like '张%';S2 张小红21 男计算机系S4 张三21 男计算机系⑥求缺少了成绩的学生的学号和课程号。
数据库查询的实验报告
数据库查询的实验报告数据库查询的实验报告引言:数据库查询是一项重要的技术,它可以帮助我们从庞大的数据集中提取所需的信息。
本实验旨在探索数据库查询的原理和实践,通过实际操作和分析,深入了解数据库查询的过程和技巧。
实验目的:1. 理解数据库查询的基本概念和原理;2. 掌握使用SQL语句进行数据库查询的方法;3. 分析不同查询语句的执行效率和优化策略。
实验步骤:1. 数据库准备:选择一个合适的数据库系统,并创建一个包含适当表结构和数据的数据库。
2. 查询语句编写:根据实际需求,编写不同类型的查询语句,包括基本查询、条件查询、排序查询、聚合查询等。
3. 查询语句执行:使用数据库管理系统提供的查询工具,执行编写好的查询语句,并观察查询结果。
4. 查询结果分析:根据查询结果,分析查询语句的执行效率和查询结果的准确性。
5. 优化策略实施:对于执行效率较低的查询语句,尝试优化策略,如索引的使用、查询语句的重写等。
6. 优化效果评估:比较优化前后查询语句的执行效率,并分析优化策略的有效性。
实验结果与讨论:通过实验,我们发现数据库查询的过程中,查询语句的编写和优化对查询效率有重要影响。
以下是我们的实验结果和讨论。
1. 基本查询:基本查询是最简单的查询方式,通过SELECT语句从数据库中选择所需的字段。
我们发现,基本查询的执行效率较高,查询结果准确。
然而,在处理大量数据时,查询时间可能会增加。
为了提高效率,我们可以使用LIMIT子句限制返回的记录数。
2. 条件查询:条件查询是根据特定条件筛选数据的查询方式。
我们使用WHERE子句来指定查询条件,并发现查询结果的准确性和效率与查询条件的选择有关。
使用索引字段作为查询条件可以大大提高查询效率。
3. 排序查询:排序查询是根据指定字段的顺序对查询结果进行排序的方式。
我们使用ORDER BY子句来指定排序字段,并观察到排序查询的执行效率较高。
然而,对于大规模数据集,排序操作可能会导致性能下降。
数据库查询实验报告doc
4. 查询分析器及利用方式。
查询分析器是在开发数据库应用
系统时利用最多的工具。查询分析器的
要紧作用是编辑Transact-SQL,将其发
送到效劳器,并将执行结果及分析显示
出来(或进行存储)。查询分析功能主
要通过测试查询本钱,判定该查询是不是
from 学生表,班级表
where 学生表.班级编号=班级表.班级编号
and 学号 in(
select 学号
from 选课表
where 课程编号 in (
select 课程编号
from 课程表
where 课程名='数据库'
)
);
/*查询学生XX15121选修课程的总学分。*/
SELECT SUM(学分) 总学分
)=(select count(*) from course)
--法三
select Sname
from student
where Sno in
(
selhaving count(*) = (select count(*) from course)
)
--(11)求选修了学生“”所选修的全数课程的学生学号和姓名。
where cno not in
(
select cno from student s,sc
where s.sno=sc.sno and sname like '王%' and co=sco
)
--(10)查询选修了全数课程的学生的姓名。(请至少写出两种查询语句)
--法一
select Sname
from student s
数据库查询实验报告步骤
一、实验目的1. 熟悉数据库查询的基本概念和操作方法。
2. 掌握SQL语言中SELECT语句的使用,包括基本查询、条件查询、排序查询、分组查询和子查询等。
3. 提高数据库查询的实际操作能力,为后续课程学习和实践打下基础。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 数据库:实验数据库(包含学生信息、课程信息、成绩信息等)三、实验步骤1. 登录数据库管理系统打开MySQL命令行客户端,输入用户名和密码登录数据库管理系统。
2. 创建实验数据库在MySQL命令行客户端中,创建一个名为“实验数据库”的数据库。
```sqlCREATE DATABASE 实验数据库;```3. 创建数据表在“实验数据库”中,创建以下数据表:(1)学生信息表(student)```sqlCREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender VARCHAR(10),class_id INT);```(2)课程信息表(course)```sqlCREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),credit INT);```(3)成绩信息表(score)```sqlCREATE TABLE score (id INT PRIMARY KEY AUTO_INCREMENT,student_id INT,course_id INT,score INT,FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id) );```4. 插入数据向数据表中插入一些数据,以供查询使用。
数据库数据查询实验报告
数据库数据查询实验报告一、实验目的本次实验的目的是熟悉数据库查询的基本操作,包括基础查询、条件查询、排序查询、嵌套查询、分组统计查询等。
二、实验环境本次实验使用MySQL数据库,使用的工具是Navicat for MySQL。
三、实验步骤1、基础查询基础查询即查询表中的所有数据,操作方法如下。
(1)进入查询工具,在“表名”下拉菜单中选择要查询的表。
(2)点击“查询”按钮即可查询出表中的所有数据。
2、条件查询条件查询即根据某些条件筛选出符合条件的数据,操作方法如下。
(1)在“条件”栏中输入筛选条件,如“WHERE name = ‘张三’”,表示筛选出姓名为“张三”的数据。
3、排序查询排序查询即按照某个字段对数据进行排序,操作方法如下。
(1)在“排序条件”中输入排序条件,如“ORDER BY age DESC”,表示按照年龄降序排序。
4、嵌套查询嵌套查询是在查询语句中嵌套另一个查询语句,目的是为了解决多个表之间的关联查询问题。
操作方法如下。
(1)在查询语句中嵌套另一个查询语句,如“SELECT * FROM table1 WHERE id IN (SELECT id FROM table2)”,表示查询出table1表中id在table2表中也存在的数据。
5、分组统计查询分组统计查询即根据某个字段对数据进行分组,再对每组数据进行统计分析,操作方法如下。
(1)在查询语句中使用“GROUP BY”语句对数据进行分组,如“SELECT name, COUNT(*) FROM table GRO UP BY name”,表示按照姓名分组,并统计每组中数据的数量。
四、实验总结本次实验通过对MySQL数据库查询的基本操作进行了学习和实践,掌握了基础查询、条件查询、排序查询、嵌套查询、分组统计查询等知识点。
通过实验的完成,深入了解了数据库查询的方法和技巧,提高了对数据库的应用能力。
实验三 数据库中的数据查询及视图操作实验报告
实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。
通过本实验,我们可以掌握使用SQL语句进行数据查询和创建视图的方法,进一步提高对数据库的操作能力。
二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统下进行实验。
三、实验内容本实验主要包括以下内容:1. 数据查询:使用SELECT语句查询数据库中的数据,并进行排序、过滤和聚合操作。
2. 视图操作:创建和删除视图,以及对视图进行查询和更新操作。
四、实验步骤与结果1. 数据查询首先,我们需要连接到数据库,并选择要查询的表。
假设我们选择的表名为"students",包含以下字段:学号、姓名、性别、年龄、班级。
a. 查询所有学生的信息:```sqlSELECT * FROM students;```执行以上SQL语句后,我们可以得到所有学生的信息,包括学号、姓名、性别、年龄和班级。
b. 查询男生的信息:```sqlSELECT * FROM students WHERE 性别 = '男';```执行以上SQL语句后,我们可以得到所有性别为男的学生的信息。
c. 查询年龄小于20岁的学生的姓名和班级:```sqlSELECT 姓名, 班级 FROM students WHERE 年龄 < 20;```执行以上SQL语句后,我们可以得到年龄小于20岁的学生的姓名和班级。
d. 查询学生按照年龄降序排列的结果:```sqlSELECT * FROM students ORDER BY 年龄 DESC;```执行以上SQL语句后,我们可以得到按照年龄降序排列的学生信息。
e. 查询学生按照班级分组,并统计每个班级的人数:```sqlSELECT 班级, COUNT(*) AS 人数 FROM students GROUP BY 班级;```执行以上SQL语句后,我们可以得到每个班级的人数统计结果。
实验六 数据库的查询数据库的查询 实验报告
实验6 数据库的查询(三)一.实验名称:数据库的查询(三)二.目的和要求:(1)掌握数据汇总的方法。
(2)掌握SELECT语句的GROUP BY子句的作用和使用方法。
(3)掌握SELECT语句的ORDER BY子句的作用和使用方法。
三.实验准备(1)了解数据汇总的方法。
(2)了解SELECT语句的GROUP BY子句的作用和使用方法。
(3)了解SELECT语句的ORDER BY子句的作用和使用方法。
四.实验时间:2011年4月28日五.实验设备和实验环境:(1) PC机。
(2) SQL Server 2000。
六.实验内容:1.数据汇总(1)求数学系学生的平均年龄。
在查询分析器的编辑窗口输人如下语句并执行。
SELECT A VG(Sage) AS ‘数学系平均年龄’FROM StudentWHERE Sdept=’CS’思考与练习:查询数学系学生的最高年龄和最低年龄。
select max(sage) as '最高年龄',min(sage) as '最低年龄'from studentwhere sdept='math'(2)求选修数据库系统学生的平均成绩。
在查询分析器的编辑窗口输入如下的语句并执行:SELECT A VG(Grade) AS ‘数据库系统平均成绩’FROM ScWHERE Cno=(SELECT CnoFROM CourseWHERE Cname=’数据库系统’)思考与练习:求选修数据库系统学生的最高成绩和最低成绩。
select max(grade) as '最高成绩',min(grade) as '最低成绩'from scwhere cno=(select cnofrom coursewhere cname='数据库')(3)求数学系学生的总人数。
在查询分析器的编辑窗口输入如下的语句并执行:SELECT COUNT(Sno)FROM StudentW HERE Sdept=‘数学系’思考与练习:统计选修数据库系统课程成绩大于等于90分的人数。
数据库操作查询实训报告
一、实训背景随着信息技术的飞速发展,数据库已经成为现代社会信息管理的重要工具。
为了更好地掌握数据库操作与查询技能,我们进行了一次数据库操作查询的实训。
本次实训旨在通过实际操作,使学生熟练掌握数据库的基本操作,包括数据库的创建、表的创建、数据的插入、查询、更新和删除等,并能够运用SQL语言进行复杂的查询操作。
二、实训内容1. 数据库的创建与使用首先,我们学习了如何创建一个新的数据库,以及如何使用现有的数据库。
在MySQL数据库中,创建数据库的语句如下:CREATE DATABASE 数据库名;使用数据库的语句如下:USE 数据库名;2. 表的创建与操作接下来,我们学习了如何创建表,以及如何对表进行操作,包括添加字段、修改字段、删除字段等。
创建表的语句如下:CREATE TABLE 表名 (字段名1 数据类型,字段名2 数据类型,...);添加字段的语句如下:ALTER TABLE 表名 ADD 字段名1 数据类型;修改字段的语句如下:ALTER TABLE 表名 MODIFY 字段名1 数据类型;删除字段的语句如下:ALTER TABLE 表名 DROP 字段名1;3. 数据的插入、查询、更新和删除在掌握了表的基本操作后,我们学习了如何向表中插入数据、查询数据、更新数据和删除数据。
插入数据的语句如下:INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);查询数据的语句如下:SELECT 字段名1, 字段名2, ... FROM 表名 WHERE 条件;更新数据的语句如下:UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2, ... WHERE 条件;删除数据的语句如下:DELETE FROM 表名 WHERE 条件;4. SQL查询语句最后,我们学习了SQL查询语句,包括单表查询、多表查询、子查询等。
以下是部分查询语句的示例:(1)单表查询SELECT 字段名1, 字段名2, ... FROM 表名 WHERE 条件;(2)多表查询SELECT 字段名1, 字段名2, ... FROM 表名1, 表名2 WHERE 条件;(3)子查询SELECT 字段名1, 字段名2, ... FROM 表名 WHERE 条件1 IN (SELECT 字段名1, 字段名2, ... FROM 表名2 WHERE 条件2);三、实训过程1. 实训初期,我们通过查阅教材和资料,了解了数据库的基本概念和操作方法。
数据库查询操作实训报告
一、实训目的本次实训旨在通过实际操作,加深对数据库查询语言(SQL)的理解和应用,掌握基本的查询技巧,包括单表查询和多表查询,并能灵活运用各种查询条件、聚合函数、连接操作等,以提高数据检索和处理的能力。
二、实训内容1. 实训环境- 数据库管理系统:MySQL 5.7- 实训数据:使用自建或提供的数据库实例,包含多个表,如用户表、订单表、商品表等。
2. 实训步骤(1)单表查询- 查询所有字段:`SELECT FROM 表名;`- 查询指定字段:`SELECT 字段1, 字段2 FROM 表名;`- 查询指定记录:`SELECT FROM 表名 WHERE 条件;`- 带IN关键字的查询:`SELECT FROM 表名 WHERE 字段 IN (值1, 值2, ...);`- 带BETWEEN AND的范围查询:`SELECT FROM 表名 WHERE 字段 BETWEEN 值1 AND 值2;`- 带LIKE的字符匹配查询:`SELECT FROM 表名 WHERE 字段 LIKE '模式';`- 查询空值:`SELECT FROM 表名 WHERE 字段 IS NULL;`- 带AND的多条件查询:`SELECT FROM 表名 WHERE 条件1 AND 条件2;`- 带OR的多条件查询:`SELECT FROM 表名 WHERE 条件1 OR 条件2;`- 关键字DISTINCT(查询结果不重复):`SELECT DISTINCT 字段 FROM表名;`- 对查询结果排序:`SELECT FROM 表名 ORDER BY 字段 [ASC|DESC];`- 分组查询(GROUP BY):`SELECT 字段1, 字段2, ... FROM 表名GROUP BY 字段1, 字段2, ...;`- 使用LIMIT限制查询结果的数量:`SELECT FROM 表名 LIMIT 起始位置, 数量;`- 集合函数查询:`SELECT COUNT(), SUM(), AVG(), MAX(), MIN() FROM 表名;`(2)多表查询- 为表取别名:`SELECT 表1.字段1, 表2.字段2 FROM 表1 AS t1, 表2 AS t2 WHERE t1.字段1 = t2.字段2;`- 普通双表连接查询:`SELECT FROM 表1, 表2 WHERE 表1.字段1 = 表2.字段1;`- 内连接查询:`SELECT FROM 表1 INNER JOIN 表2 ON 表1.字段1 =表2.字段1;`- 左外连接查询:`SELECT FROM 表1 LEFT JOIN 表2 ON 表1.字段1 = 表2.字段1;`- 右外连接查询:`SELECT FROM 表1 RIGHT JOIN 表2 ON 表1.字段1 = 表2.字段1;`- 复合条件连接查询:`SELECT FROM 表1 INNER JOIN 表2 ON 表1.字段1 = 表2.字段1 AND 表1.字段2 = 表2.字段2;`- 子查询:`SELECT FROM 表1 WHERE 字段1 IN (SELECT 字段2 FROM表2 WHERE 条件);`(3)高级查询- 查询涉及多级联表:`SELECT FROM 表1 AS t1 INNER JOIN 表2 AS t2 ON t1.字段1 = t2.字段1 INNER JOIN 表3 AS t3 ON t2.字段2 = t3.字段1;`- 查询涉及多条件、多表的复杂条件:`SELECT FROM 表1 AS t1 INNER JOIN 表2 AS t2 ON t1.字段1 = t2.字段1 WHERE t1.字段2 = '条件1' OR t2.字段3 = '条件2';`- 查询涉及聚合函数和分组:`SELECT COUNT(), AVG(字段), MAX(字段), MIN(字段) FROM 表1 AS t1 INNER JOIN 表2 AS t2 ON t1.字段1 = t2.字段1 GROUP BY t1.字段1;`3. 实训要求- 熟练掌握单表查询和多表查询的各种技巧。
数据库查询实验报告
实验报告课程名称:数据库系统概论学院:工程学院专业:年级:班级:姓名:学号:指导教师:年12 月10 日教务处制:在 INTO 子句中指出了表名 student,并指出了新增长旳元组在哪些属性上要赋值,属性旳次序可以与 CREATE TABLE 中旳次序不一样样。
INSERT INTO "S-C"."STUDENT"VALUES('','张成民','男','18','CS' );select* from "S-C"."STUDENT":值与属性要一一对应。
INSERT INTO "S-C".sc (sno,cno)VALUES('','1');SELECT*from "S-C".sc;:在新插入旳记录中 GRADE 列自动地赋空值。
或者: INSERT INTO "S-C".scVALUES('','1',null);SELECT*from "S-C".sc;:若直接在 SC 中直接插入选课记录,由于没有指出 SC 旳属性名,在 GRADE 列上要明确给出空值NULL。
创立新表CREATE TABLE dept_age(sdept CHAR (15),avg_age smallint);把系名和平均年龄存入新表insertinto dept_age(Sdept,avg_age) select sdept,avg(sage)from "S-C".studentgroup by sdept;UPDATE "S-C"."STUDENT"SET Sage=22WHERE sno=;select*from "S-C".student;UPDATE "S-C"."STUDENT"SET Sage=sage+1;select*from "S-C".student;UPDATE "S-C"."SC"SET Grade=0where sno in(select snofrom "S-C".studentwhere sdept='cs');SELECT*FROM "S-C".SC;DELETEfrom "S-C".studentWHERE sno='';select*from "S-C".student;DELETEFROM "S-C".SC;SELECT*FROM "S-C".SC;:这条 DELETE 语句将使 SC 成为空表,它删除了 SC 旳所有元组。
数据库简单查询实验报告
姓名: 学院: 专业: 班级: 实验课程名称:数据库原理 开课时间:
实验题目
数据查询(简单查询) 小组合作
姓名
班级
一、实验目的
(1)掌握 SELECT 语句的语法 (2)掌握基于单表的查询方法 (3)掌握基于多表的查询方法 (4)掌握相关与不相关的嵌套查询 (5)掌握使用 UNION 的集合查询
select shopno,prono from sale where amount is null
select prono,proname from product where proname like'海尔__%'and proprice>2000
(4) select * from product order by proprice desc,proname asc
实验总结:
本次实验使用 sql sever 在企业管理器和中创建表,同时使用了 T-SQL 语句 进行单表查询以及多表查询,第一次建表时没有设置好关系导致多表查询时 出现了一些问题,后来在同学的帮助下解决了问题,那些不懂的地方以后一 定多加注意。
Amount
int
2.利用企业管理器向表中插入记录
N
商店号,外码 合为主码
N
商品号,外码
Y
销售量
商店表 Shop 的内容
ShopNo S01
ShopName 乐购
ShopAddress 上海
S02 S03 S04
ProNo P01 P02 P03 P04
ShopNo S01 S01 S01 S02 S02 S03 S03 S03
二.实验环境
WINDOWS 7+SQL SERVER 2005
数据库-数据查询实验报告.doc
实验报告课程名称数据库原理与应用实验名称数据查询系别专业班级指导教师学号姓名实验日期_实验名称:数据查询一、实验目的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.查询病人表,显示所有病人的病人编号、保险公司名称、电话号码(别名:病人电话)。
数据库的查询实验实验报告
因为班级号g99404在class表中不存在,由于class_id的外键约束,插入不成功,结果截屏如下:
图六
4、删除教师表中的所有数据,验证参照完整性约束;
使用Transact-SQL代码删除如下:
delete
from[dbo].[teacher]
使用sa用户访问操作,在student表中新增一条条目的实验截图如下:
图十五
如上图,新增条目的操作成功。
然后使用Transcat-SQL语句更改数据代码如下:
update[dbo].[student]
setstudent_name='彦巧'
wherestudent_name='孙彦巧'
实验截图如下:
执行结果如下:
图二
原因是student_course表中有如下的数据,表中的course_id在course表中不存在。
图三
从表中删除这两组数据之后,设置外键则可以成功。
2、向学生表插入具有相同学号的数据,验证其实体完整性约束;
Student表中原有数据如下:
图四
使用Transact-SQL语句插入如下:
grantselectonstudenttoshihexp
grantselectonstudent_coursetoshihexp
grantselectonteachertoshihexp
grantselectonteacher_course_classtoshihexp
使用企业管理器操作的实验截图如下:
数据库的查询实验
——实验报告
中南大学数据库实验报告实验二基本数据查询
中南大学数据库实验报告实验二基本数据查询1. 实验目的本次实验旨在让学生掌握基本的数据查询操作,包括使用SELECT语句查询表中的数据,并运用WHERE子句进行条件查询。
2. 实验环境•数据库管理系统:MySQL•开发工具:Navicat Premium•操作系统:Windows 103. 实验步骤3.1 数据库及表的创建首先,为本实验创建一个名为university的数据库,并在其中创建一个名为students的表。
markdown sql CREATE DATABASE university;USE university;CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT, gender VARCHAR(10), major VARCHAR(50) );3.2 插入测试数据在students表中插入一些测试数据,以便进行查询操作。
markdown sql INSERT INTO students (id, name, age, gender, major) VALUES (1, ‘张三’, 20, ‘男’, ‘计算机科学与技术’);INSERT INTO students (id, name, age, gender, major) VALUES (2, ‘李四’, 22, ‘女’, ‘软件工程’);INSERT INTO students (id, name, age, gender, major) VALUES (3, ‘王五’, 21, ‘男’, ‘电子信息工程’);INSERT INTO students (id, name, age, gender, major) VALUES (4, ‘赵六’, 23, ‘女’, ‘通信工程’);3.3 使用SELECT语句查询数据按照实验要求,我们需要运用SELECT语句查询学生姓名为’张三’的信息。
数据初级查询实验报告
一、实验目的1. 熟悉数据库的基本概念和结构。
2. 掌握SQL语言的基本语法和查询操作。
3. 学会使用数据库查询工具进行数据检索。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 查询工具:Navicat Premium三、实验内容1. 数据库的创建与删除2. 表的创建与删除3. 数据的插入、更新、删除4. 数据的查询5. 查询条件的设置6. 数据库查询优化四、实验步骤1. 创建数据库(1)打开Navicat Premium,连接到MySQL数据库服务器。
(2)选择“数据库”选项卡,点击“新建数据库”。
(3)输入数据库名称,如“experiment_db”,点击“确定”。
2. 创建表(1)在“experiment_db”数据库上点击右键,选择“新建表”。
(2)输入表名,如“students”,点击“确定”。
(3)在表设计器中,添加字段,如“id”(主键)、“name”、“age”、“gender”等。
(4)设置字段属性,如数据类型、长度、默认值等。
(5)点击“保存”,完成表创建。
3. 数据的插入、更新、删除(1)插入数据在“students”表上点击右键,选择“执行SQL语句”。
输入以下SQL语句:```sqlINSERT INTO students (id, name, age, gender) VALUES (1, '张三', 20, '男');INSERT INTO students (id, name, age, gender) VALUES (2, '李四', 21, '男');INSERT INTO students (id, name, age, gender) VALUES (3, '王五', 22, '男');```执行上述SQL语句,完成数据的插入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的:
通过该实验掌握应用SQL 查询数据库的基本方法,包括单表、多表查询。
二、实验原理
数据库查询是数据库的核心操作。
SQL语言提供了SELECT语句进行数据库的查询。
SELECT[ALL|DISTINCT] <目标列表达式〉[,<目标列表达式〉]...
FROM<表名或视图名〉[,<表名或视图名〉]...
[WHERE<条件表达式>]
[GROUP BY<列名1〉[HA VING<条件表达式>]]
[ORDERBY<列名2〉[ASC|DESC]]
三、实验内容和方法
实验用的数据库:用实验二建立的数据库:School
1. 投影查询
(1) 查询SC表的sno的不重复记录。
使用SQL语句:“select distinct Sno from SC”,得出结果如下图所示:
(2) 改变查询结果的标题名:sno为学号,sname为姓名,ssex 为性别,sdept 为系名。
使用SQL语句:“select Sno 学号,Sname 姓名,Ssex 性别,Sdept 系名from Student”,得出结果如下图所示:
(3) 查询STUDENT表的前3条记录(top 3)。
使用SQL语句:“select top 3 * from Student”,得出结果如下图所示:
3. 选择查询
(1) 查询成绩在60-80之间的姓名、系名和成绩。
使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade>60 and Grade<80 and Student.Sno=SC.Sno”,结果如下图所示:
若使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade between 60 and 80 and Student.Sno=SC.Sno”,则结果如下图所示:
(2) 查询信息系和计算机系的姓名和成绩。
使用SQL语句:“select Sname,Grade from Student,SC where Sdept='IS' and Student.Sno=SC.Sno or Sdept='CS' and Student.Sno=SC.Sno”,结果如下图所示:
(3) 查询计算机系或女同学的记录。
使用SQL语句:“select * from Student where Ssex='女' or Sdept='CS'”,得出结果如下图所示:
(4) 查询李姓同学的记录。
使用SQL语句:“select * from Student where Sname like '李%'”,得出结果如下图所示:
(5) 查询计算机系女同学的记录。
使用SQL语句:“select * from Student where Sdept='CS' and Ssex='女'”,得出的结果如下图所示:
4. 排序查询
(1)查询STUDENT表的所有字段和记录按年龄由大到小排序。
使用SQL语句:“select * from Student order by Sage desc”,得出的结果如下
图所示:
(2)查询STUDENT表的所有字段和记录按年龄由小到大排序。
使用SQL语句:“select * from Student order by Sage asc”,得出的结果如下图所示:
5. 结合统计函数
(1) 查询SC表的最高分。
使用SQL语句:“select max (Grade) 最高分from SC”,得出的结果如下图所示:
(2) 统计SC表95001学生的平均分。
使用SQL语句:“select avg (Grade) 平均分from SC where Sno='95001'”,得出的结果如下图所示:
(3)统计SC表各课程的最低分。
使用SQL语句:“select Cno 课程,min (Grade) 最低分from SC group by Cno”,
得出的结果如下图所示:
(4)查询超过平均分的学生姓名和系名。
使用SQL语句:“select Sname,Sdept from Student,SC where Grade>(select avg (Grade) from SC) and Student.Sno=SC.Sno”,得出的结果如下图所示:
(5)查询低于平均分的学生姓名、系名和课程名。
使用SQL语句:“select Sname,Sdept,Cname from Student,Course,SC where Grade<(select avg (Grade) from SC) and Student.Sno=SC.Sno and o=o”,得出的结果如下图所示:
6.其他
(1)查询其他系中比计算机系某一学生小的学生姓名和年龄。
(2)查询其他系中比计算机系所有学生年龄都小的学生姓名和年龄。
(3)查询每一门课的间接先修课(先修课的先修课)。