实验3:数据库数据的定义与简单查询操作1

合集下载

国开电大 数据库设计 实训三:实现数据查询功能

国开电大 数据库设计 实训三:实现数据查询功能

国开电大数据库设计实训三:实现数据
查询功能
1. 实训目标
本次实训的目标是实现数据查询功能,通过编写SQL查询语句,从数据库中检索所需的数据。

2. 实训内容
2.1 数据库准备
首先,我们需要准备一个数据库,用于存储需要查询的数据。

可以选择使用MySQL、Oracle或者其他关系型数据库。

创建数据
库表,并插入一些测试数据,以便后续查询操作。

2.2 编写查询语句
根据实际需求,编写SQL查询语句,实现以下功能:
- 简单查询:查询表中的所有记录或者指定列的数据。

- 条件查询:根据指定条件查询符合要求的数据。

- 排序查询:按照指定字段对查询结果进行排序。

- 聚合查询:使用聚合函数计算统计数据,如求和、平均值等。

- 连接查询:将多个表进行连接,获取相关联的数据。

2.3 执行查询语句
在数据库管理工具中执行编写好的查询语句,检查查询结果是否符合预期。

根据需要,可以进行调整和优化查询语句,以提高查询效率和准确性。

3. 实训总结
通过本次实训,我们研究了如何设计数据库并实现数据查询功能。

掌握了SQL查询语句的编写和执行,以及一些常用的查询技巧和优化方法。

4. 参考资料
- 数据库系统概念(第6版)
- MySQL官方文档
- Oracle官方文档。

实验三简单查询(2)

实验三简单查询(2)
SQL语句:
SELECTemployeeNo,employeeName,department,orderNo,customerName,orderDate
FROMEmployee a,OrderMaster b,Customer c
WHEREemployeeNo=salerNoANDb.customerNo=c.customerNoANDyear(birthday)=1973
convert(char(10),orderDate,120)orderDate,quantity,金额=quantity*price
FROMEmployee a,Product b,OrctName='52倍速光驱'ANDb.ProductNo=c.ProductNoANDc.orderNo=d.orderNoAND
SQL语句:
SELECTemployeeNo,employeeName,address,orderNo,customerNo,orderDate
FROMEmployee a,OrderMaster b
WHEREaddressLIKE'%上海%'ANDa.employeeNo=b.salerNO
ORDERBYcustomerNo
查询结果:
2.查找订购了“32M DRAM”的商品的客户编号、客户名称、订单编号、订货数量和订货金额,并按客户编号排序输出。
SQL语句:
SELECTa.customerNo,customerName,b.orderNo,quantity,定货金额=price*quantity
FROMCustomer a,OrderDetail b,OrderMaster c,Product d
SQL语句:

3数据库查询实验(1)

3数据库查询实验(1)

实验三数据库查询实验(1)数据库的简单查询和连接查询实验课时安排:2课时一、实验目的和要求使学生掌握SQL Server查询分析器的使用方法.加深对SQL和Transact-SQL语言的查询语句的理解。

熟练掌握简单表的数据查询、数据排序和数据联结查询的操作方法。

二、实验内容1 简单查询操作该实验包括投影、选择条件表达、数据排序、使用临时表等。

2 连接查询操作该实验包括等值连接、自然连接、求笛卡尔积、一般连接、外连接、内连接、左连接、右连接和自连接等。

三、实验方法1 将查询需求用Transact-SQL语言表示。

2 在SQL Server查询分析器的输入区中Transact-SQL查询语句。

3 设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。

4 发布执行命令,查看查询结果.如果结果不正确,进行修改.直到正确为止。

5 查询分析器及使用方法。

查询分析器是在开发数据库应用系统时使用最多的工具。

查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储).查询分析功能主要通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。

在查询生成器中的左边窗口是对象测览器,其中按树结构列出了数据库对象;右上方是SQL代码区域.用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果、对于T-SQL语句的执行结果,在结果区中可以有4种不同的输出形式:标准执行将结果直接显示在结果区网格执行将结果以表格形式显示在结果区.计划执行显示执行计划;索引分析为在结果区中显示查询的索引情况。

上述输出形式,可以通过菜单或按钮选择。

四、实验步骤1 基本操作实验(1)简单查询实验l)用Transact-SQL语句表示下列操作.在学生选课库中实现其数据查询操作.①求数学系学生的学号和姓名。

《数据库实验》实验报告

《数据库实验》实验报告

《数据库实验》实验报告一、实验目的本实验旨在通过设计与实现一个简单的学生信息管理系统,来加深对数据库基本概念和SQL语言的理解,并掌握数据库的创建、表的设计、数据的增删改查等基本操作。

二、实验环境本次实验的开发环境为以下软件与工具:1. 数据库管理系统:MySQL2. 编程语言:Java3. 开发工具:Eclipse IDE4. Web服务器:Apache Tomcat三、实验内容及步骤1. 数据库的创建与连接首先,在MySQL中创建一个名为"student_system"的数据库,并通过JDBC连接该数据库。

在Java代码中,使用JDBC的API进行数据库连接操作,包括加载驱动、建立连接等步骤。

2. 数据表的设计与创建在student_system数据库中创建一个名为"student"的数据表,该表用于存储学生的基本信息。

表中应包含学号(id)、姓名(name)、性别(gender)和专业(major)等字段,并设置合适的数据类型和约束。

3. 数据的插入与修改通过SQL语句,在student表中插入若干条学生信息,包括学号、姓名、性别和专业。

同时,通过SQL的UPDATE语句,修改某些学生的信息。

4. 数据的查询编写SQL语句,实现对学生信息的查询。

可以根据学号或姓名等关键字进行查询,并返回符合条件的学生信息。

5. 数据的删除根据指定的学号或姓名,编写SQL语句实现对学生信息的删除操作。

删除后,该学生的信息将不再存在于数据库中。

四、实验结果经过以上实验步骤的设计与实现,在学生信息管理系统中,成功地创建了student表,并成功插入了若干学生信息。

通过SQL语句的查询和修改操作,可以准确地获取和修改学生的信息。

此外,删除操作也能够成功地从数据库中删除指定学生的信息。

五、实验总结通过本次实验,我进一步掌握了数据库的基本操作与SQL语言的应用。

在实验过程中,我理解到数据库的设计与搭建是一个关键步骤,合理的表结构和约束条件对于数据的管理和有效性有着重要的影响。

数据库实验一 简单数据查询

数据库实验一 简单数据查询

实验一简单数据查询
一、实验目的
掌握利用select语句进行简单数据查询。

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

三、实验内容
1.从student表中检索学生所在班级编码,并消除重复行
2.检索课程表(course)中的教师名、课程号、课程名称,要求检索结果按照教师名降序排序
3.检索课程表(course)信息,显示课程号大于’005’的课程编号及课程名称,只显示结果中前15行
4.检索每位教师所上课程的平均报名人数,只显示平均报名人数在25到35人之间的教师
5.查看部门编号为“03”的部门名称。

6.查看部门名称中包含有“工程”两个字的系的全名。

7.显示共有多少个部门。

8.显示“01”年级共有多少个班级。

9.查看在“周二晚”上课的课程名称和教师。

10.查看姓“张”、“陈”、“黄”同学们的基本信息,要求按照姓名降序排列查询结果。

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

实验三简单查询

实验三简单查询

简单查询(1)实验报告3. 查询全体职工的姓名、年龄、所属部门,并且用汉语显示表头信息。

SQL语句:SELECT employeeNo 姓名,year(getdate())-year(birthday)年龄,department 所属部门FROM Employee查询结果:4.查询1973年出生且为职工的员工信息。

SQL语句:SELECT*FROM EmployeeWHERE year(birthday)=1973 AND headShip='职员'查询结果:7.查询薪水在3000 ~ 4000的职工姓名和薪水。

SQL语句:SELECT employeeName,salaryFROM EmployeeWHERE salary>=3000 AND salary<=4000查询结果:8.查询薪水不在3000 ~ 4000的职工姓名和薪水。

SQL语句:10.查询姓张且全名为三个汉字的职工姓名。

SQL语句:SELECT employeeNameFROM EmployeeWHERE employeeName LIKE'张__'查询结果:11.查询既不在业务科也不在财务科的职工姓名、性别和所在部门。

SQL语句:SELECT employeeName,sex,departmentFROM EmployeeWHERE department NOT IN('业务科','财务科')查询结果:14.查询职工工资最高的前8个职工编号、职工姓名和工资。

SQL语句:SELECT top 8 employeeNo,employeeName,salaryFROM EmployeeORDER BY salary DESC查询结果:15.查询职工工资按高低排序的前10%的职工编号、职工姓名和工资。

实验三SQL(二)SQL语言进行简单查询实验报告范文

实验三SQL(二)SQL语言进行简单查询实验报告范文

实验三SQL(二)SQL语言进行简单查询实验报告范文实验目的:1.掌握SQL查询语句的一般格式2.掌握简单数据查询操作。

3.熟练掌握各种查询条件的表示。

4.掌握排序和分组操作在SQL语句中的实现。

5.掌握集函数的使用。

实验内容;1.创建学生表tudent、课程表coure和选课表SC,并输入数据(注意数据的完整性。

);(可以使用实验一中已经建立的表和数据)2.对各表中的数据进行不同条件的查询;1)查询全体学生的学号和姓名2)3)4)5)6)7)8)9)查询全体学生的详细记录查询所有选修过课程的学生学号查询考试有不及格的学生学号查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别查询选修了4号课的学生学号和成绩,结果按成绩降序排列查询每个课程号和相应的选课人数查询计算机系(CS)的学生姓名、年龄、系别查询年龄18-20岁的学生学号、姓名、系别、年龄;10)查询姓刘的学生情况11)查询既选修1号课程,又选修2号课程的学生学号12)查询学生的姓名和出生年份(今年2003年)13)查询没有成绩的学生学号和课程号14)查询总成绩大于200分的学生学号15)查询每门课程不及格学生人数16)查询不及格课程超过3门的学生学号17)查询年龄在10到19岁之间的学生信息18)查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列19)查询选了1号课程的学生平均成绩20)查询选了3号课程的学生的最高分21)查询每个同学的总成绩实验步骤与过程:1.创建学生表tudent、课程表coure和选课表SC,使用实验一中已经建立的表和数据。

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

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

4.按照SQL语句格式及题目要求输入语句进行以下查询:1、查询全体学生的学号和姓名;2、查询全体学生的详细记录;3、查询所有选修过课程的学生学号;4、查询考试有不及格的学生学号;5、查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别;6、查询选修了4号课的学生学号和成绩,结果按成绩降序排列;7、查询每个课程号和相应的选课人数;8、查询计算机系(CS)的学生姓名、年龄、系别;9、查询年龄18-20岁的学生学号、姓名、系别、年龄;10、查询姓刘的学生情况;11、查询既选修1号课程,又选修2号课程的学生学号;12、查询学生的姓名和出生年份(今年2003年);13、查询没有成绩的学生学号和课程号;14、查询总成绩大于200分的学生学号;15、查询每门课程不及格学生人数;16、查询不及格课程超过3门的学生学号;17、查询年龄在10到19岁之间的学生信息;18、查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列;19、查询选了1号课程的学生平均成绩;20、查询选了3号课程的学生的最高分;21、查询每个同学的总成绩实验结果:利用实验一中所建立的表设置主键,建立索引及三表之间关系。

查询操作实验报告

查询操作实验报告

一、实验目的1. 理解数据库查询的基本概念和操作方法。

2. 掌握SQL语言中SELECT语句的使用,包括简单查询、条件查询、连接查询等。

3. 提高数据库查询效率,了解索引的作用和优化策略。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 实验工具:MySQL Workbench三、实验内容1. 数据库创建与表结构设计(1)创建数据库CREATE DATABASE experiment;(2)创建表CREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT,gender CHAR(1),class VARCHAR(20));CREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),teacher VARCHAR(20));CREATE 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) );2. 查询操作(1)简单查询查询学生表中的所有记录:SELECT FROM student;查询学生表中的学生姓名和年龄:SELECT name, age FROM student;(2)条件查询查询年龄大于20岁的学生:SELECT FROM student WHERE age > 20;查询学生姓名中包含“李”的学生:SELECT FROM student WHERE name LIKE '%李%';(3)连接查询查询学生姓名和对应的课程名称:SELECT , FROM studentJOIN course ON student.class = course.teacher;查询选修了“数据库原理”课程的学生姓名和成绩:SELECT , score.scoreFROM studentJOIN score ON student.id = score.student_idJOIN course ON score.course_id = course.idWHERE = '数据库原理';3. 查询优化(1)索引优化创建索引,提高查询效率:CREATE INDEX idx_student_name ON student(name);CREATE INDEX idx_score_student_id ON score(student_id);(2)查询语句优化避免使用SELECT ,只查询需要的字段:SELECT name, age FROM student;使用WHERE子句进行条件过滤,减少查询结果集:SELECT FROM student WHERE age > 20;四、实验结果与分析1. 实验结果通过以上实验,我们成功创建了数据库、表结构,并进行了简单查询、条件查询、连接查询等操作。

数据库查询的说明书

数据库查询的说明书

数据库查询的说明书一、简介数据库查询是指通过特定的查询语句,在数据库中寻找符合特定条件的数据,并将其返回给用户。

数据库查询的作用非常重要,它能够实现对大量数据的筛选、排序、分组等操作,为用户提供准确、高效的数据结果。

本说明书将详细介绍数据库查询的基本概念、语法结构以及常用的查询操作。

二、基本概念1. 数据库:数据库是指存储大量有组织的数据的集合。

一般由表、字段、数据等组成,具有结构化的特点。

2. 查询语句:查询语句是用于从数据库中获取数据的命令。

它由关键字、函数、操作符等组成,能够实现对数据的检索、过滤和排序等操作。

3. 条件:条件是指对查询结果进行筛选的限制规则。

常用的条件包括等于、不等于、大于、小于等。

三、查询语句的语法结构数据库查询语句通常包括 SELECT、FROM、WHERE、GROUP BY、HAVING 和 ORDER BY 等关键字,用于指定查询的目标表、查询条件以及排序规则等。

1. SELECT:SELECT 关键字用于指定要查询的字段。

可以使用 *表示查询所有字段,也可以具体指定某些字段。

2. FROM:FROM 关键字用于指定查询的目标表。

用户可以在FROM 子句中指定一个或多个表,以实现数据的联合查询。

3. WHERE:WHERE 关键字用于指定查询的筛选条件。

用户可以使用各种操作符和函数来设定条件,实现对数据的过滤。

4. GROUP BY:GROUP BY 关键字用于指定分组字段。

通过分组,可以对数据进行统计和分类。

5. HAVING:HAVING 关键字用于指定对分组结果进行筛选的条件。

它通常和 GROUP BY 关键字一起使用。

6. ORDER BY:ORDER BY 关键字用于指定查询结果的排序规则。

可以指定一个或多个字段,并指定升序或降序。

四、常用的查询操作1. 简单查询:通过 SELECT 关键字指定要查询的字段和 FROM 关键字指定查询的目标表,可以进行简单的数据检索操作。

数据库实验_实验报告

数据库实验_实验报告

一、实验目的1. 掌握数据库的基本概念和设计方法。

2. 熟悉关系型数据库SQL语言的使用。

3. 能够根据实际需求设计数据库,并实现数据的存储和查询。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库设计2. 数据库创建与维护3. 数据操作与查询四、实验步骤1. 数据库设计(1)需求分析:根据实际需求,确定数据库需要存储哪些数据,以及数据之间的关系。

(2)概念结构设计:使用E-R图描述实体与实体之间的联系,形成概念模型。

(3)逻辑结构设计:将概念模型转换为关系模型,确定表结构。

(4)物理结构设计:确定数据库的存储结构和索引策略。

2. 数据库创建与维护(1)创建数据库:使用SQL语句创建数据库,如:```sqlCREATE DATABASE school;```(2)创建表:根据逻辑结构设计,创建数据库表,如:```sqlCREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(20),age INT,gender CHAR(1));```(3)插入数据:使用INSERT语句向表中插入数据,如:```sqlINSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, '男'); ```(4)更新数据:使用UPDATE语句修改表中数据,如:```sqlUPDATE student SET age = 21 WHERE id = 1;```(5)删除数据:使用DELETE语句删除表中数据,如:```sqlDELETE FROM student WHERE id = 1;```(6)查询数据:使用SELECT语句查询表中数据,如:```sqlSELECT FROM student;```3. 数据操作与查询(1)简单查询:查询表中所有数据,如:```sqlSELECT FROM student;```(2)条件查询:根据条件查询数据,如:```sqlSELECT FROM student WHERE age > 20;```(3)排序查询:根据指定字段对查询结果进行排序,如:```sqlSELECT FROM student ORDER BY age DESC;```(4)分组查询:根据指定字段对查询结果进行分组,如:```sqlSELECT gender, COUNT() AS count FROM student GROUP BY gender;```(5)连接查询:查询两个或多个表之间的数据,如:```sqlSELECT , FROM student JOIN course ON student.id = course.student_id;```五、实验结果与分析1. 数据库设计:根据实际需求,设计了包含学生、课程、教师等实体的数据库,并建立了它们之间的关系。

《数据库实验》实验报告

《数据库实验》实验报告

《数据库实验》实验报告《数据库实验》实验报告黄爱蓉编审湖北汽车⼯业学院电⼦信息科学系⼆〇〇七年⼀⽉实验⼀:建⽴数据库及基本表实验报告⼀、实验⽬的1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使⽤SQL查询分析器⽤CREA TE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。

⼆、实验内容1、创建数据库和查看数据库属性。

2、创建表。

3、查看和修改表结构。

4、熟悉企业管理器和查询分析器⼯具的使⽤⽅法三、实验步骤1、在企业管理器中创建数据库和数据表。

(1) 使⽤企业管理器建⽴图书管理数据库,数据库名为BM,初始⼤⼩为10MB,最⼤为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB,按1MB增长。

数据库的逻辑⽂件名和物理⽂件名均采⽤默认值。

详细步骤:(2) 在企业管理器中查看图书管理数据库的属性,并进⾏修改,使之符合要求。

(3) 通过企业管理器,在建好了图书管理数据库BM中建⽴图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅⽇期)。

创建上述三个表的步骤:三个表各个字段的数据类型:2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句:(2) 在数据库S-C下,创建基本表学⽣表student(sno,sname,ssex,sage,sdept)的sql语句:创建基本表课程表course(cno,cname, ccredit)的sql语句:创建基本表成绩表sc(sno,cno,grade)的sql语句:(3) 在窗⼝下分别键⼊DROP TABLE Student及DROP TABLE SC命令,运⾏后观察结果。

数据库实验3-SQL语言之数据查询(简单查询)

数据库实验3-SQL语言之数据查询(简单查询)

实验三SQL数据查询(简单查询)姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:【实验目的与要求】1、熟练掌握SELECT 语句的基本语法格式;2、熟练掌握使用SQL语句进行单表查询,掌握GROUP BY子句、HA VING 子句和集函数;3、熟练掌握使用SQL标准语句和T-SQL扩展语句进行连接查询。

【实验内容】3.0. 实验准备与说明本实验将用到实验二中数据库SalesDB和相应的表及数据,若该数据库及表尚未创建,或数据尚未录入,则请先完成之。

请根据前面实验创建的表结构和数据,完成如下查询。

本实验及后面实验中所用测试数据库中表的字段及含义如下表:表-1 测试数据库表的字段及含义3.1.简单查询(1).查询各种产品的产品编号、产品名称和价格。

请给出相应语句:USE SalesDB;SELECT Pno,Pname,Price FROM Product;请给出运行结果:(2).查询所在城市为“厦门”的客户编号和客户名称,结果中各列的标题分别指定为:“客户编号”和“客户名称”显示。

请给出相应语句:SELECT Cno as客户编号,Cname as客户名称FROM Customer WHERE City='厦门';请给出运行结果:(3).查询各产品编号、名称、库存量和产品总值。

(总值:价格与库存数量的积)请给出相应语句:SELECT Pno,Pname,Price ,Stocks FROM Product;SELECT SUM(Price*Stocks)as产品总值FROM Product;请给出运行结果:(4).查询曾购买过产品的客户编号(不重复)。

请给出相应语句:SELECT Cno FROM Customer;请给出运行结果:(5).查询价格在1000-2000的产品信息,并依价格由低到高的顺序排序。

(请使用Between…and和算术比较运算符分别实现)a.使用Between…and比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price between 1000 and 2000order by Price;请给出运行结果:b.使用算术比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price >= 1000 and Price<=2000order by Price;请给出运行结果:(6).查询产品名称含有“热水器”的产品信息。

数据库的简单查询和连接查询实验总结

数据库的简单查询和连接查询实验总结

数据库的简单查询和连接查询实验总结下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!数据库的简单查询和连接查询实验总结数据库的查询是使用SQL语言进行数据检索和操作的基础技能。

实验3 SQL的简单查询功能

实验3  SQL的简单查询功能

实验3 SQL的简单查询功能实验目的学会使用MS SQL SERVER 2000的查询分析器完成SQL的简单查询功能,主要包括单表查询的选择、投影、排序、聚集函数、分组等。

知识点拨:1.查询语句基本格式:2.单表查询;3.选择4.投影5.排序6.聚集函数7.分组查询1.分组查询与选择的比较:实验内容1.掌握SQL查询语句的一般格式;2.学会包括选择、投影、排序、聚集函数、分组等的单表查询;实验步骤1.选择数据库JX;2.以下查询操作使用查询分析器完成:(1)查询所有教师的教工号、姓名和电话号码信息,查询结果列项是中文名;MODIFY PROJECT f:\shuju库原理\项目1.pjxset default to F:\shuju库原理select tno 教师编号,tname 教师姓名 ,photo 教师电话号码;from teacher(2)查询‘计算机’系的所有副教授的基本信息;from teacherlistselect *;from teacher;where porf='副教授'(3)查询所有女同学的姓名及所在的系,显示结果不允许重复出现;select distinct sname,sdept;from Student;where sex='女 '(4)查询各教师的姓名、教工号及工资按95%发放的信息,并将按95%发放的工资列改名为‘预发95%工资’;alter table teacher;add 工资按95发放 char(20)列名更改以后:代码:alter table teacher rename 工资按95发放 to 预发百分之95工资listselect * from teacher(5)检索计算机系总学分在50~100的学生信息,并按学号降序排列;select * from student,score;where student.sno=score.sno and sdept='计算机'and degree成绩>=50 and degree成绩<= 100;order by student.sno desc(6)查询修正后的学分(原学分-1)仍然大于3的课程的代号、名称、原先的学分、修正后的学分;select cno,cname,ccredit学分 from course;where ccredit学分 in (select ccredit学分 from course; where ccredit学分-1>=3)修正后的学分:update course set ccredit学分=ccredit学分-1select cno,cname,ccredit学分 from course(7)查询课程号不为‘1’、‘4’、或‘7’的课程的信息;select * from course;where cno not in('1','4','7')(8)查询所有姓‘张’、或‘刘’或‘高’的学生信息;select * from student;where sname like '张%' or sname like'刘%' or sname like'林%'(9)查询每个系有多少个同学;select sdept,count(sno);from student;group by sdept(10)查询各课程的平均成绩并按成绩降序排列;select cno,avg(degree成绩);from score;group by cno(11)查询有两门课在90分以上的学生学号及90分以上课程数;select sno,count(cno);from score group by sno;having count(*)>=2 and degree成绩>=90(12)统计每门课程的选课人数、平均成绩、最高成绩、最低成绩;select cno,count(sno),avg(degree成绩),max(degree成绩),min(degree成绩);from score group by cno(13)列出课程表中有先行课的课程名。

数据库实验三_查询

数据库实验三_查询

南昌大学实验报告---实验三查询学生姓名:丁金芝学号:6100511080 专业班级:管理科学与工程类112班实验类型:■验证□综合□设计□创新实验日期:实验成绩:一、实验目的1.掌握select语句的基本语法2.了解select语句中各子句的作用和特点3.掌握select语句的统计函数的作用和用法4.掌握子查询的用法5.掌握连接查询的用法二、实验内容与结果(一).简单查询1.select 选择列--1、选择所有列(*),查询学生表中的所有纪录。

--2、选择特定列,查询学生表中全体学生的学号,姓名,性别。

--3、计算列,查询选课表中给每个学生加了20分后的所有课号和成绩末分数显示出来。

重复。

--6、限制返回行数--top n 关键字;只显示表中前面n条记录。

--top n percent 关键字;只显示前n%条记录。

--显示学生表中的前3条记录。

--显示学生表中的前3%条记录2 .where 子句--1、比较运算符:(1)查询分数<80分学生的学号、成绩、课号。

(2)查询学号001学生的情况。

--2、范围运算符:查询学生分数在70-80之间的学生的学号、课号。

(包括70分、80分)--3、列表运算符: (1)查询学号为'001' 、'005'、'007' 、'008'的学生学号。

(2)查询学生成绩不在60-70之间的学生的学号、课号、成绩。

--4、匹配运算符: (1)查询姓刘学生的信息。

(2)查询姓刘单名的学生信息。

(3)查询01-03年级学生的信息。

--5、空值运算符,查询变动情况为空的学生--查询学生课程编号为'05'的课程的成绩,并按成绩的降序进行排列。

4.使用函数:--1、计算学号为001的学生总分数、平均分。

--2、集合函数 avg()、count()、count(*)、max()、min()、sum()(1)查询学期成绩表中的平均分,最大分数,最小分数,总和(前面四项为查询出的相应字段)(2)统计课程表中所有记录数和各个列中值的个数,要求不能重复。

数据库简单查询实验报告

数据库简单查询实验报告
本科生实验报告 (一)
姓名: 学院: 专业: 班级: 实验课程名称:数据库原理 开课时间:
实验题目
数据查询(简单查询) 小组合作
姓名
班级
一、实验目的
(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

SQL数据库原理实验指导书及答案

SQL数据库原理实验指导书及答案

SQL数据库原理实验指导书及答案数据库原理SQLServer实验指导书1数据库系统原理实验一、基本操作实验实验1:数据库的定义实验本实验的实验目的是要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。

本实验的内容包括:l)创建数据库和查看数据库属性。

2)创建表、确定表的主码和约束条件,为主码建索引。

3)查看和修改表结构。

4)熟悉SQL Server Enterpriser Manager和 Query Analyzer工具的使用方法具体实验任务如下。

1.基本提作实验1)使用Enterpriser Manager建立图书读者数据库2)在Enterpriser Manager中查看图书读者数据库的属性,并进行修改,使之符合要求。

3)通过Enterpriser Manager,在建好了图书借阅数据库中建立图书、读者和借阅3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,版次);读者(编号,姓名,单位,性别,电话):借阅(书号,读者编号,借阅日期人)要求为属性选择合适的数据类型,定义每个表的主键,Allow Null(是否允许空值)和 Default Value(缺省值)等列级数据约柬。

4)在Enterpriser Manager建立图书、读者和借阅3个表的表级约束:每个表的PrimaryKey2(主键)约束;借阅表与图书表间、借阅表与读者表之间的FOREIGNKEY(外码)约柬,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;实现读者性别只能是“男”或“女”的check (检查)约束。

2.提高操作实验建立学生_课程库操作,在查询分析器中用SQL命令实现。

数据库实验一

数据库实验一

班级:计网103 学号:1007300334 姓名:贾彩华数据库实验一创建数据库和表、简单查询一. 实验目的:认识DBMS(SQL server 2000);创建数据库和表。

二. 内容:1.定义数据库: CAP2.定义表: customers, agents, products, orders3.练习简单查询语句(Example3.3.1.-3.3.6)。

4. 验证、分析作业: 2.4 (a), (c), (e), (g)。

三. 操作方法:1.使用SQL server 2000查询分析器创建数据库和表;验证例题及测试作业题。

2.使用SQL server 2000企业管理器查看已创建的数据库和表及表结构。

分析作业2.4(a) Find all(ordno,pid)pairs for orders of quantity equal to 1000 or more.select ordno,pid from orderswhere qty>=1000;(c)Find all(ordno,cname)pairs for orders of dollar value less than $e one join here.select ordno,cname from orders x,customers cwhere dollars<500 and x.cid=c.cid;(e) Find all(ordno,cname,aname) triples for orders in e two joins here.select ordno,cname,aname from orders x,customers c,agents awhere month=’mar’ and c.cid=x.cid and a.aid=x.aid;(g) Find all product names of products in Duluth ordered in March.select pname from products p,orders xwhere month=’mar’ and p.pid=x.pid and p.city=’Duluth’;四.小结:1.定义数据库CAP时,把agents表中的属性“percent”改成了“commission”。

数据初级查询实验报告

数据初级查询实验报告

一、实验目的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. 熟悉SQL语言的使用,能够编写简单的SQL语句进行数据库操作。

4. 学会使用数据库管理工具进行数据库管理。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库创建与删除(1)创建数据库在MySQL Workbench中,选择“数据库”菜单,点击“创建数据库”,在弹出的对话框中输入数据库名称“test”,点击“创建”按钮。

(2)删除数据库在MySQL Workbench中,选择“数据库”菜单,点击“删除数据库”,在弹出的对话框中选择“test”数据库,点击“删除”按钮。

2. 数据表创建与删除(1)创建数据表在MySQL Workbench中,选择“test”数据库,右键点击“表”,选择“创建表”,在弹出的对话框中输入表名“students”,然后添加字段名、数据类型、约束等,点击“保存”按钮。

(2)删除数据表在MySQL Workbench中,选择“test”数据库,右键点击“students”表,选择“删除表”,在弹出的对话框中确认删除,点击“删除”按钮。

3. 数据插入与删除(1)插入数据在MySQL Workbench中,选择“test”数据库,右键点击“students”表,选择“打开表”,在弹出的窗口中输入要插入的数据,点击“保存”按钮。

(2)删除数据在MySQL Workbench中,选择“test”数据库,右键点击“students”表,选择“打开表”,在弹出的窗口中选择要删除的数据行,点击“删除”按钮。

4. 数据查询(1)简单查询使用SQL语句进行简单查询,例如:SELECT FROM students;SELECT name, age FROM students;(2)条件查询使用SQL语句进行条件查询,例如:SELECT FROM students WHERE age > 20;SELECT FROM students WHERE name LIKE '张%';(3)排序查询使用SQL语句进行排序查询,例如:SELECT FROM students ORDER BY age ASC;SELECT FROM students ORDER BY age DESC;5. 数据库备份与还原(1)备份数据库在MySQL Workbench中,选择“test”数据库,点击“备份”,在弹出的对话框中选择备份路径和文件名,点击“保存”按钮。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三:数据库数据的定义与简单查询操作一、实验目的熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作及简单的查询操作。

二、实验内容和要求建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。

查询数据库中的表和表中各数据的定义。

设计各种单表查询SQL语句。

三、实验步骤创建学生管理数据库,数据库名为test,包含学生的基本信息,课程信息和选课信息。

数据库xsgl包含下列3个表:(l)student:学生基本信息。

(2)course:课程信息表。

(3)sc:学生选课表。

各表的结构分别如实验二的表1-1、表1-2和表1-3所示。

1、数据库的建立:(1)用可视化界面建立:(a)在KingbaseES中用企业管理器-新建数据库;(2)命令方式建立:(a)在KingbaseES中,在查询分析器中使用SQL语句:创建“test”数据库:Create database test withEncoding=’GBK’;创建”xsgl”模式:Create schema xsgl;2.表的建立:(1)用可视化界面建立:在KingbaseES中用企业管理器—数据库—test—表—右键—新建表;(2)命令方式建立:在KingbaseES中查询分析器的编辑窗口中用下列SQL语句:在“xsgl”模式中建立表格“student”、“course”、“sc”:SET Search_path To xsgl,public;Create table student(sno CHAR(10)not null,sname CHAR(10)not null,ssex CHAR(2)not null,sage int not null,sdept CHAR(4)not null,primary key(sno));Create table course(cno CHAR(3),cname CHAR(30),credit INT,pcno CHAR(3)NULL,primary key(cno));…….或者:Create table xsgl.student(sno CHAR(10)not null,sname CHAR(10)not null,ssex CHAR(2)not null,sage int not null,sdept CHAR(4)not null,primary key(sno));Create table xsgl.course(cno CHAR(3),cname CHAR(30),credit INT,pcno CHAR(3)NULL,primary key(cno));Create table xsgl.sc(sno CHAR(10),cno CHAR(3),grade INT NULL,primary key(sno,cno));3.表数据的添加:(1).用可视化方法:I:在KingbaseES中用企业管理器—数据库—test—表-表名—右键-打开表-返回所有行;输入下列数据:sno sname ssex sage sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS95005刘云女18CScno cname credit pcno1数据库452数学63信息系统314操作系统465数据结构476数据处理37PASCAL语言46sno cno grade9500119295001285950013889500229095002380950032859500415895004285(2).在KingbaseES查询分析器的编辑窗口中使用下列SQL语句插入数据:insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95001','李勇','男',20, 'CS');insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95002','刘晨','女',19,'IS');insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95003','王敏','女',18, 'MA');insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95004','张立','男',19, 'IS');insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95005','刘云','女',18,'CS ');insert into xsgl.course(cno,cname,credit,pcno)values('1','数据库',4,'5');insert into xsgl.course(cno,cname,credit,pcno)values('2','数学',6,null);insert into xsgl.course(cno,cname,credit,pcno)values('3','信息系统',3,'1');insert into xsgl.course(cno,cname,credit,pcno)values('4','操作系统',4,'6');insert into xsgl.course(cno,cname,credit,pcno)values('5','数据结构',4,'7');insert into xsgl.course(cno,cname,credit,pcno)values('6','数据处理',3,null);insert into xsgl.course(cno,cname,credit,pcno)values('7','PASCAL语言',4,'6');insert into xsgl.sc(sno,cno,grade)values('95001','1',92);insert into xsgl.sc(sno,cno,grade)values('95001','2',85);insert into xsgl.sc(sno,cno,grade)values('95001','3',88);insert into xsgl.sc(sno,cno,grade)values('95002','2',90);insert into xsgl.sc(sno,cno,grade)values('95002','3',80);insert into xsgl.sc(sno,cno,grade)values('95003','2',85);insert into xsgl.sc(sno,cno,grade)values('95004','1',58);insert into xsgl.sc(sno,cno,grade)values('95004','2',85);4.表数据的修改:(1).用可视化方法:在KingbaseES中用企业管理器—数据库—test—表-表名—右键-打开表-返回所有行;在表格中将相应的数据修改即可。

(2).命令方法:将所有学生的年龄增加一岁:update xsgl.student set sage=sage+1将4号课程的学分改为4:update xsgl.course set credit=4where cno=4设置7号课程没有先行课:update xsgl.course set pcno=null where cno=7将95001号学生的1号课程的成绩增加3分:update xsgl.sc set grade=grade+3where sno=95001and cno=15.表数据的删除:(1).用可视化方法:在KingbaseES中用企业管理器—数据库—test—表-表名—右键-打开表-返回所有行;单击左边的行标记,选定某一行,或单击后拖动选择相邻的多行,再右击鼠标选择弹出式菜单中的删除。

(2).命令方法:删除学号为95005的学生的记录:delete from xsgl.student where sno=95005删除所有的课程记录:delete from xsgl.course删除成绩为不及格(少于60分)的学生的选课记录:delete from xsgl.sc where grade<60 6.简单查询在对象搜索器中查询数据库中的关系表及表中的各数据的属性、值。

单表查询1.查询全体学生的学号和姓名:select sno,sname from student2.查询全体学生的所有信息:select*from student或者select sno,sname,ssex,sage,sdept from student3.查询全体学生的姓名,出生年份,和所在系,并用小写字母表示所有系名:select sname,'出生年份为:',year(getdate())-sage,lower(sdept)from student4.给上例的结果集指定列名:select sname,'出生年份为:'出生,year(getdate())-sage年份,lower(sdept)系名from student5.查询选修了课程的学生的学号:select distinct sno from sc比较:select sno from sc6.查询年龄在20岁以下的学生的姓名及其年龄:select sname,sage from student where sage<207.查询考试成绩有不及格的学生的学号:select distinct sno from sc where grade<60比较:select sno from sc where grade<608.查询年龄在20-30岁直接的学生的姓名,姓名,所在系:select sname,ssex,sdept from student where sage between20and309.查询IS,CS,MA系的所有学生的姓名和性别:select sname,ssex from student where sdept in('IS','MA','CS')10.查找所有姓’李’的学生的姓名,学号和性别:select sname,sno,ssex from student where sname like'李%'比较:将学生表中的’95001’号学生的姓名’李勇’改为’李勇勇’,再执行:select sname,sno,ssex from student where sname like'李_'11.查询没有先行课的课程的课程号cno和课程名cname:select cno,cname from course where pcno is null查询结果排序12.查询选修了3号课程的学生的学号和成绩,并按分数降序排列:select sno,grade from sc where cno='3'order by grade DESC13.查询全体学生的情况,查询结果按所在系号升序排列,同一系中的学生按年龄降序排列:select*from student order by sdept ASC,sage DESC聚集函数1.查询学生总人数:Select Count(*)as学生总数from student2.查询选修了课程的学生总数:select count(distinct sno)as选课学生总数from sc3.查询所有课程的总学分数和平均学分数,以及最高学分和最低学分:select sum(credit)as总credit,avg(credit)as课程平均学分,max(credit)as最高学分, min(credit)as最低学分from course4.计算1号课程的学生的平均成绩,最高分和最低分:select avg(grade)as平均成绩,max(grade)as最高分,min(grade)as最低分from sc where cno='1'5.查询’信息系’(IS)学生”数据结构”课程的平均成绩:select avg(grade)from student,course,sc where student.sno=sc.sno ando=o and sdept='IS'and cname='数据结构';分组查询1.查询各系的学生的人数并按人数从多到少排序:select sdept,Count(*)as人数from student group by sdept order by人数desc2.查询各系的男女生学生总数,并按系别,升序排列,女生排在前:select sdept,ssex,Count(*)as人数from student group by sdept,ssex order by sdept,ssex desc3.查询选修了3门课程已上的学生的学号和姓名:select sno,sname from student where sno in(select sno from sc group by(sno)having count(*)>3)4.查询每个学生所选课程的平均成绩,最高分,最低分,和选课门数:select sno,avg(grade)as平均成绩,max(grade)as最高分,min(grade)as最低分, count(*)as选课门数from sc group by sno5.查询至少选修了2门课程的学生的平均成绩:select sno,avg(grade)as平均成绩from sc group by sno having count(*)>=26.查询平均分超过80分的学生的学号和平均分:select sno,avg(grade)as平均成绩from sc group by sno having avg(grade)>=80比较:求各学生的60分以上课程的平均分:select sno,avg(grade)as平均成绩from sc where grade>=60group by sno7.查询”信息系”(IS)中选修了5门课程以上的学生的学号:select sno from sc where sno in(select sno from student where sdept='IS')group by sno having count(*)>=2思考:1.比较用可视化界面与命令方式在数据的插入、修改、删除方面的优缺点。

相关文档
最新文档