数据库-SQL语言的实验

合集下载

sql数据库实验报告

sql数据库实验报告

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

数据库实验报告实验二_交互式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数据库实验报告大一SQL数据库实验报告一、引言SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。

在大一的数据库课程中,我们学习了SQL语言的基本语法和常用操作,通过实验来巩固和应用所学知识。

本篇实验报告将对我在大一SQL数据库实验中的学习和实践进行总结和归纳。

二、实验内容本次实验主要涉及以下内容:1. 创建数据库和表:使用CREATE语句创建数据库和表,定义表的结构和字段。

2. 插入数据:使用INSERT语句向表中插入数据,测试数据的正确性和完整性。

3. 查询数据:使用SELECT语句查询数据库中的数据,包括条件查询、排序和限制查询结果数量等。

4. 更新数据:使用UPDATE语句更新表中的数据,修改指定字段的值。

5. 删除数据:使用DELETE语句从表中删除数据,删除指定条件的记录。

6. 数据库连接:使用JOIN语句实现多表连接查询,关联不同表中的数据。

7. 数据库事务:使用BEGIN TRANSACTION、COMMIT和ROLLBACK语句实现事务的管理和控制。

三、实验过程和结果1. 创建数据库和表我使用CREATE DATABASE语句创建了一个名为“学生管理”的数据库。

然后,我在该数据库中创建了两个表,分别是“学生信息表”和“课程信息表”。

学生信息表包括学生ID、姓名、年龄和性别等字段,课程信息表包括课程ID、课程名称和学分等字段。

2. 插入数据接下来,我使用INSERT INTO语句向学生信息表和课程信息表中插入了一些测试数据,包括学生的基本信息和课程的相关信息。

插入数据后,我使用SELECT语句确认数据的插入是否成功,并验证了数据的完整性和准确性。

3. 查询数据我使用SELECT语句进行了多种查询操作,包括条件查询、排序和限制查询结果数量等。

例如,我使用WHERE子句实现了根据学生姓名和课程名称进行查询的功能;使用ORDER BY子句对查询结果按照指定字段进行排序;使用LIMIT子句限制查询结果的数量。

数据库sql 实验报告

数据库sql 实验报告

数据库sql 实验报告数据库SQL实验报告1. 引言数据库是现代信息系统中不可或缺的组成部分,它提供了有效地存储和管理数据的能力。

结构化查询语言(SQL)是一种用于管理和操作关系型数据库的标准化语言。

本实验报告旨在通过实际操作和实验结果的分析,探讨SQL在数据库中的应用和效果。

2. 实验目的本次实验的主要目的是熟悉和掌握SQL语言的基本操作,包括数据的查询、插入、更新和删除等。

通过实验,我们可以进一步了解SQL语言的特点和使用方法,加深对数据库管理系统的理解。

3. 实验环境本次实验使用的数据库管理系统为MySQL,它是一种开源的关系型数据库管理系统。

MySQL提供了强大的功能和灵活的配置选项,被广泛应用于各种规模的应用程序中。

4. 实验步骤4.1 数据库连接在实验开始之前,我们首先需要建立与数据库的连接。

通过使用MySQL提供的连接函数,我们可以指定数据库的主机地址、用户名和密码等信息,以便进行后续的操作。

4.2 数据库创建在连接成功后,我们可以使用SQL语句创建一个新的数据库。

通过指定数据库的名称和字符集等属性,我们可以灵活地创建适合自己需求的数据库。

4.3 数据表创建数据库中的数据以表的形式进行组织和存储。

在本次实验中,我们将创建一个名为"students"的数据表,用于存储学生的基本信息。

通过指定表的字段和属性,我们可以定义每个字段的数据类型和约束条件。

4.4 数据插入在数据表创建完成后,我们可以使用SQL语句向表中插入数据。

通过指定插入的字段和对应的值,我们可以将具体的数据添加到表中。

在插入数据时,我们还可以使用事务来确保数据的完整性和一致性。

4.5 数据查询数据查询是SQL语言的核心功能之一。

通过使用SELECT语句,我们可以从表中检索所需的数据。

SELECT语句可以使用不同的条件和运算符进行过滤和排序,以满足不同的查询需求。

4.6 数据更新和删除除了查询,SQL语言还提供了更新和删除数据的功能。

数据库SQL实验报告__数据库的基本操作

数据库SQL实验报告__数据库的基本操作

数据库SQL实验报告__数据库的基本操作一、实验目的1.理解数据库SQL语言的基本操作;2.学会使用数据库SQL语言进行数据的增删改查操作。

二、实验环境1. 操作系统:Windows 10;2.数据库管理系统:MySQL;3. 开发工具:Navicat for MySQL。

三、实验内容本次实验主要涉及数据库的基本操作,包括创建数据库、创建数据表、插入数据、更新数据、删除数据以及查询数据等。

1.创建数据库步骤一:打开Navicat for MySQL,并点击左上角的“新建连接”按钮;步骤二:填写连接信息,包括主机、端口、用户名和密码,并点击“连接”按钮;步骤三:点击“新建数据库”按钮,填写数据库的名称,并点击“确定”按钮。

2.创建数据表步骤一:在已连接的数据库上点击右键,选择“新建数据表”;步骤二:填写数据表的名称,并点击“确定”按钮;步骤三:填写数据表的字段信息,包括字段名、数据类型、长度、索引、主键等,并点击“确定”按钮。

3.插入数据4.更新数据5.删除数据6.查询数据步骤一:在数据表上点击右键,选择“查看数据”;步骤二:在弹出的查询窗口中填写查询条件,并点击“确定”按钮。

四、实验结果通过以上基本操作,成功创建了一个数据库,并在数据库中创建了一个数据表。

插入了一条数据,并成功地更新和删除了数据。

最后,使用查询操作查看了数据库中的数据。

五、实验总结通过本次实验,我深入了解了数据库SQL语言的基本操作,学会了使用数据库SQL语言进行数据的增删改查操作。

在实验过程中,我发现通过SQL语句进行数据库操作更加灵活、方便且高效。

还学会了使用Navicat for MySQL这样的数据库管理工具,提高了数据库的操作效率。

通过实验,我对数据库的基本原理和操作有了更深入的了解,为日后的数据库开发和管理打下了坚实的基础。

数据库试验---SQL数据更新语句

数据库试验---SQL数据更新语句

实验SQL数据更新语句一、实验目的本次实验了解SQL Server 2005的启动,熟悉如何使用SSMS和5@1.建立数据库和表,并加深对于完整性的理解。

一.二、背景知识在使用数据库的过程中,接触最多的就是数据库中的表。

表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。

表是由行和列组成的。

创建表的过程主要就是定义表的列的过程。

表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。

除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。

约束是SQL Server提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。

在SQL Server中有5种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)x 检查约束(Check Constraint)和默认约束(Default Constraint) 0...三、实验目的加深对SQL数据更新(插入、修改及删除)语句的基本语法格式的掌握掌握单个元组及多个元组的插入、修改及删除操作的实现过程加深对更新操作时数据库中数据一致性问题的了解加深对约束条件在数据更新操作执行中的作用问题的了解。

实验报告要求1、写出与上述任务相对应的SQL更新语句(实验报告上写出3、5、10的SQL语句)2、并记录在实验过程中遇到的问题、解决办法及心得体会。

五、实验内容方法一:在SSMS中插入、删除及修改数据,方法二:在查询编辑器中写SQL插入、删除及修改数据设有一个SPJ数据库,包括S, P, J, SPJ四个关系模式:S (SNO, SNAME, STATUS, CITY)dlim-S dbo. F dbo. JP (PNO, PNAME, COLOR, WEIGHT)PNAM;vardnar(2D)08L8Cbi3l(4)0WEIGm-int H□J (JNO, JNAME, CITY)列名数据类型允许空供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表1由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。

SQL数据库实验报告

SQL数据库实验报告

带条件查询一、实验名称:二、日期三、实验目的和内容(这是实验报告极其重要的内容。

)1.SQL Server工具的环境和使用;2.利用SELECT语句实现简单的查询需求;3.掌握使用逻辑操作符来抽取基于多个满足条件的记录4.掌握使用范围操作符、列表操作符、模式匹配操作符、为空操作符来抽取满足条件的记录的方法5.掌握使用ORDER BY 从句来以特定的顺序抽取数据的方法6.掌握使用TOP 关键字仅抽取行的前面集合7.掌握使用DISTINCT 关键字消除重复行四、实验过程及结果(给出实验主要的步骤和实验结果, 包括算法或代码)1.SELECT EmployeeID,Rate,rank()OVER(ORDER BY Rate desc)AS RANK FROM HumanResources.EmployeePayHistory2.SELECT EmployeeID,Rate,dense_rank() OVER(ORDER BY Rate desc)AS rankFROM HumanResources.EmployeePayHistory3.SELECT Title,convert(char(10),HireDate,2)As'Hire Date'FROMHumanResources.Employee4.SELECT EmployeeID,upper(Title)AsDesignation,datediff(yy,Birthdate,getdate())As AgeFROM HumanResources.Employee WHERE Title='Marketing Manager'OR Title='Marketing Specialist'5.SELECT EmployeeID,EndDate FROM HumanResources.EmployeeDepartmentHistory WHERE EndDate IS NULL6.SELECT EmployeeID,Title,LoginID FROM HumanResources.Employee WHERE Title IN('Recruiter','Stocker')7.SELECT DISTINCT Title FROM AdventureWorks.HumanResources.Employee WHERE Title LIKE 'PR%'五、实验体会(包括有疑问的)这次实验, 我了解了.SQL Server工具的环境和使用, 学习了使用逻辑操作符来抽取基于多个满足条件的记录., 以及使用范围操作符、列表操作符、模式匹配操作符、为空操作符来抽取满足条件的记录的方法使用ORDER BY 从句来以特定的顺序抽取数据的方法等等。

数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用SQL语句操作数据数据库原理实验报告实验名称:实验二使用SQL语句操作数据实验时间:2013.4.16学生姓名:班级:软件学号:一、实验目的1、熟悉SQL Server 2005的基本环境2、使用对象资源管理器管理数据库、基本表、视图、索引等对象3、锻炼学生对SQL Server 2005基本操作能力二、实验内容1、使用对象资源管理器创建SPJ数据库(1)更改主数据库文件的增长模式,改为按5MB自动增长;(2)更改事务日志文件的增长模式,改为按1MB自动增长。

2、在数据库中创建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由零件代码(SNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。

】3、建立数据库关系图。

将建好的数据库和表转化为SQL语句,以sql脚本方式保存。

4、使用对象资源管理器向表中插入下列数据。

SP表5、使用SQL语言完成如下操作:1)求供应工程J1零件的供应商号码SNO。

2)求供应工程J1零件P1的供应商号码SNO。

3)求供应工程J1零件为红色的供应商号码SNO。

4)求没有使用天津供应商生产的红色零件的工程号JNO。

5)求至少用了供应商S1所供应的全部零件的工程号JNO。

6)找出所有供应商的姓名和所在城市。

7)找出所有零件的名称、颜色、重量。

数据库SQL实验报告__交互式SQL语言的使用

数据库SQL实验报告__交互式SQL语言的使用
《数据库原理》实验报告
题目:交互式SQL语言的使用
实验日期和时间:
班级:
学号:
姓名:
实验室:
实验环境:
windows 7操作系统;
SOL Server 2000软件
实验内容及完成情况:[全部使用SQL语言操作]
实验内容:
一、数据定义
1、创建数据库
2、数据库下表的创建、修改并在表中输入数据;
3、索引的创建与删除(删除放在最后)
表:Course存储课程相关信息
表:DPT存储系相关信息
表:SC存储选课相关信息
表:Student存储学生的相关信息
表:TC存储授课的相关信息
表:Teacher存储教师的相关信息
相关语句
结果图:
相关语句
结果图
任务2:
数据操作
任务3:
删除操作
相关语句
结果图
出现的问题及解决方案
提示:
打包保存时自己的文件夹以“学号姓名”为文件名,
打包时文件夹内容包括:本实验报告、分离后的数据库、SQL语句。
4、视图的创建与删除(删除放在最后)
二、数据操作
完成各类查询操作(单表查询、连接查询、嵌套查询、集合查询)
三、删除操作
完成情况:
1、完成了数据库、表、视图、索引的创建;
2、完成了各种修改操作
3、完成了数据库的各种查询工作
4、完成了各种删除工作
Hale Waihona Puke 任务1:数据定义以下为相关语句(标有注释语句)
以下为创建的各种表(从企业管理器中查看的)

数据库实验sql语法实验报告

数据库实验sql语法实验报告

数据库实验sql语法实验报告数据库实验SQL语法实验报告本次数据库实验主要涉及SQL语法的学习和应用,通过对实验指导书中所给出的数据库进行操作,对SQL语法有了更加深入的理解和掌握。

以下是本次实验的具体内容和结果。

一、实验环境实验环境为Windows 10操作系统,使用MySQL Workbench 8.0作为数据库管理工具。

二、实验步骤1.创建数据库和表格首先需要创建一个新的数据库,使用以下命令:CREATE DATABASE experiment;然后,创建一个新的表格,使用以下命令:CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));2.插入数据接下来,插入一些数据到students表格中,使用以下命令:INSERT INTO students (id, name, age, gender) VALUES (1, '张三', 18, '男'),(2, '李四', 19, '女'),(3, '王五', 20, '男'),(4, '赵六', 21, '女');3.查询数据现在,我们可以查询students表格中的数据,使用以下命令:SELECT * FROM students;这个命令将会返回students表格中的所有数据,包括id,name,age和gender。

4.更新数据如果需要更新students表格中的某一条数据,可以使用以下命令:UPDATE students SET age=22 WHERE id=4;这个命令将会将id为4的数据的age字段更新为22。

5.删除数据如果需要删除students表格中的某一条数据,可以使用以下命令:DELETE FROM students WHERE id=3;这个命令将会删除id为3的数据。

实验九SQL语言的使用

实验九SQL语言的使用

实验九SQL语言的使用SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准化语言。

它被广泛应用于数据库管理系统(DBMS)中,如MySQL、Oracle、SQL Server等。

SQL语言具有简洁、易学、功能强大的特点,方便用户进行数据的查询、插入、更新和删除等操作。

在本实验中,我们将学习SQL语言的基本用法,并进行一些简单的实践。

SQL语言主要包括以下几个方面的内容:1.数据库的创建和删除:通过CREATEDATABASE语句可以创建一个新的数据库,通过DROPDATABASE语句可以删除一个已存在的数据库。

2.表的创建和删除:通过CREATETABLE语句可以创建一个新的数据表,通过DROPTABLE语句可以删除一个已存在的数据表。

3.数据的插入、查询、更新和删除:通过INSERTINTO语句可以向表中插入新的数据行,通过SELECT语句可以查询表中的数据行,通过UPDATE语句可以更新表中的数据行,通过DELETEFROM语句可以删除表中的数据行。

4.数据的筛选和排序:通过WHERE子句可以对查询结果进行筛选,通过ORDERBY子句可以对查询结果进行排序。

5.数据的聚合和分组:通过聚合函数(如SUM、AVG、MAX、MIN和COUNT)可以对数据进行统计计算,通过GROUPBY子句可以对查询结果进行分组。

6.多表的关联查询:通过JOIN子句可以将多个表进行关联查询,根据表之间的关系进行数据的联合筛选。

下面是一个简单的示例,演示了如何使用SQL语言实现数据库的创建和数据的插入、查询、更新和删除:```sql--创建一个新的数据库CREATE DATABASE mydb;--使用该数据库USE mydb;--创建一个新的数据表CREATE TABLE studentsid INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT--向数据表中插入新的数据行INSERT INTO students (name, age) VALUES ('张三', 18);INSERT INTO students (name, age) VALUES ('李四', 20);INSERT INTO students (name, age) VALUES ('王五', 22);--查询数据表中的数据行SELECT * FROM students;--更新数据表中的数据行UPDATE students SET age = 23 WHERE name = '王五';--删除数据表中的数据行DELETE FROM students WHERE name = '李四';```通过以上示例,我们可以看到SQL语言的简洁、易学、功能强大的特点。

数据库-SQL语言的实验

数据库-SQL语言的实验

北华航天工业学院《数据库原理与应用》实验报告报告题目:SQL语言作者所在系部:计算机系作者所在专业:网络工程作者学号:20114052233作者姓名:张旭刚指导教师姓名:李建义完成时间:2013 4.24北华航天工业学院教务处制SQL语言一、实验目的1、理解数据库以及数据表的设计;2、熟悉SQL Server2005中的数据类型;3、熟悉使用SQL语句创建和删除模式和索引;4、掌握使用SQL语句创建、修改和删除数据表;5、掌握使用SQL语句查询表中的数据;6、掌握使用SQL语句插入、修改和删除数据表中的数据;7、掌握使用SQL语句创建、删除、查询和更新视图。

二、实验内容(一)创建数据库和模式1、通过SQL语句创建图书信息管理数据库,命名为“db_Library”,数据文件和日志文件放在D盘下以自己学号和姓名命名的文件夹中,数据文件的逻辑名为db_Library_data,数据文件的操作系统名为db_Library_data.mdf,文件初始大小为10MB,最大可增加至300MB,增幅为10%;日志文件的逻辑名为db_Library_log,日志文件的操作系统名为db_Library_data.ldf,文件初始大小为5MB,最大可增加至200MB,增幅为2MB。

2、通过SQL语句在该数据库中创建模式L-C。

(二)创建和管理数据表要求为各数据表的字段选择合适的数据类型及名称;为各数据表设置相应的完整性约束条件。

1、通过SQL语句将以下数据表创建在L-C模式下:课程信息表(tb_course)——课程编号、课程名、先修课、学分2、通过SQL语句将以下数据表创建在该数据库的默认模式dbo下:图书类别信息表(tb_booktype)——类别编号、类别名称图书信息表(tb_book)——图书编号、类别编号、书名、作者、出版社、定价、库存数读者信息表(tb_reader)——读者编号、姓名、性别、学号、班级、系部借阅信息表(tb_borrow)——图书编号、读者编号、借阅日期、归还日期3、通过SQL语句对读者信息表进行修改:删除系部字段、添加所在系字段。

数据库实验SQL语句

数据库实验SQL语句

数据库实验SQL语句实验二查询操作一、实验目的和要求1、掌握通过SQL语句对数据库进行查询操作的方法。

二、实验步骤1、建立数据库dbtest2、根据附件里的SQL语句建立student表、course表、sc表,并填入数据。

3、完成下列查询操作。

1)查询学分为2的课程名称。

2)查询所有男生的名单。

3)查询所有成绩及格的学生学号。

4)查询成绩在80-90之间(包含两端)学生学号和课程号。

5)查询所有姓“刘”的同学的名单。

6)某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。

查询缺少成绩的学生的学号和相应的课程号。

7)查询选修了3号课程,而且成绩大于80分的学生学号,查询结果按分数降序排列。

8)查询有多少人选修了课程。

9)查询2号课程的最高分。

10)查询2号课程的平均分。

11)统计所有的男生人数和女生人数。

12)查询学生的姓名和他/她选修的课程名称。

13)查询学生的姓名、他/她选修的课程名称和成绩。

14)查询选修了课程名为“信息系统”的学生学号、姓名、成绩。

15)查询每个学生超过他所选选修课的平均成绩的课程号。

16)每门课程所对应的平均成绩。

17)建立一张包含学生所有信息的视图student_all18)在student_all视图上查询查询学生的姓名、他/她选修的课程名称和成绩。

附件:CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));insert into studentvalues('200215121','李勇','男',20,'CS');insert into studentvalues('200215122','刘晨','女', 19, 'CS');insert into studentvalues('200215123','王敏','女',18,'MA');insert into studentvalues('200215125','张立','男',19,'IS');insert into studentvalues('200215126','欧阳夏丹','女',18,'IS');CREATE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4) ,Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );Insert into CourseValues('2','数学',null,2);Insert into CourseValues('6','数据处理',null,2);Insert into CourseValues('7','语言','6',4);Insert into CourseValues('4','操作系统','4',3);Insert into CourseValues('5','数据结构','7',4);Insert into CourseValues('1','数据库','5',4);Insert into CourseValues('3','信息系统','1',4);Insert into CourseValues('8','db_test','1',4);CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY (Sno,Cno),/* 主码由两个属性构成,必须作为表级完整性进行定义*/FOREIGN KEY (Sno) REFERENCES Student(Sno),/* 表级完整性约束条件,Sno是外码,被参照表是Student */ FOREIGN KEY (Cno) REFERENCES Course(Cno)/* 表级完整性约束条件,Cno是外码,被参照表是Course*/ );insert into scvalues('200215121','1',92);insert into scvalues('200215121','2',85);insert into scvalues('200215121','3',88);insert into scvalues('200215122','2',90);insert into scvalues('200215122','3',80);insert into scvalues('200215123','3',null);/*1*/select cname from course where ccredit=2/*2*/select sname from student where ssex='男'/*3*/select distinct sno from sc where grade>=60/*4*/select sno,cno from sc where grade between 80 and 90 /*5*/select sname from student where sname like'刘%'/*6*/select sno,cno from sc where grade is null/*7*/select sno from sc where cno=3 and grade>=80 order by grade desc /*8*/select count(distinct sno)from sc where cno is not null/*9*/select max(grade)from sc group by cno having cno=2 /*10*/select avg(grade)from sc group by cno having cno=2 /*11*/select count(*)as'男生人数'from student where ssex='男'/*11*/select count(*)as'女生人数'from student where ssex='女'/*12*/select sname,cname from student,sc,course where student.sno=sc.sno and /doc/2112466993.html,o=http://www.doc /doc/2112466993.html,o/*13*/select sname,cname,grade from student,sc,course wherestudent.sno=sc.sno and /doc/2112466993.html,o=http://www.doc /doc/2112466993.html,o/*14*/select student.sno,sname,grade from student,sc,course where student.sno=sc.sno and /doc/2112466993.html,o=http://www.doc /doc/2112466993.html,o and cname='信息系统'/*15*/select sno,cno from sc x where grade >(select avg(grade)from sc y group by cno having /doc/2112466993.html,o=http://www.doc /doc/2112466993.html,o)/*16*/select cno,avg(grade)as'平均成绩'from sc x group by cno/*17*/create view student_all as selectstudent.sno,sname,ssex,sage,sdept,/d oc/2112466993.html,o,grade,cname fromstudent,sc,course where student.sno=sc.sno and/doc/2112466993.html,o=http://www. /doc/2112466993.html,o/*18*/select sname,cname,grade from student_all。

sql数据库实训报告

sql数据库实训报告

sql数据库实训报告SQL数据库实训报告。

一、实训背景。

本次实训是针对SQL数据库的设计与应用进行的,旨在通过实际操作,加深对SQL数据库的理解与掌握,提高数据库设计与管理能力。

二、实训内容。

1. 数据库设计与创建。

在实训开始阶段,我们首先学习了数据库的设计原理与方法,包括实体关系模型(ERM)的绘制,数据库表的设计,以及数据类型的选择等。

在此基础上,我们使用SQL语句创建了一个包含多个表的数据库,并进行了数据的插入与查询操作。

2. 数据库查询与管理。

接着,我们学习了SQL语言的基本语法与常用查询命令,包括SELECT、UPDATE、DELETE、INSERT等,以及各种条件筛选、排序、分组与连接操作。

通过实际练习,我们掌握了如何编写高效、准确的SQL查询语句,并对数据库中的数据进行管理与维护。

3. 数据库应用与优化。

在实训的最后阶段,我们将学习如何将数据库应用到实际的项目中,包括数据库的备份与恢复、性能优化、索引设计等方面的内容。

通过这些内容的学习,我们将能够更好地应对实际项目中的数据库管理与应用需求。

三、实训收获。

通过本次实训,我对SQL数据库的设计与应用有了更深入的理解与掌握。

我不仅学会了如何设计与创建数据库,还能够编写复杂的SQL查询语句,并对数据库进行有效管理与优化。

这些知识与技能对我的职业发展将起到重要的推动作用。

四、实训反思。

在实训过程中,我深刻体会到了理论与实践相结合的重要性。

通过实际操作,我才真正理解了课堂上学到的知识,并且能够运用到实际工作中。

同时,我也意识到数据库设计与管理是一个复杂而又细致的工作,需要不断地学习与实践,才能够不断提高自己的能力与水平。

五、实训展望。

在未来的学习与工作中,我将继续深入学习数据库相关的知识,不断提升自己的数据库设计与管理能力。

我希望能够在实际项目中应用所学到的知识,为企业的数据管理与应用提供更加专业、高效的解决方案。

六、结语。

通过本次实训,我对SQL数据库有了更加全面的认识与掌握,我相信这些知识与技能将成为我未来发展的重要基础。

SQL实验报告范文

SQL实验报告范文

SQL实验报告范文一、实验目的本实验旨在通过使用结构化查询语言(SQL)来实现对关系型数据库的操作,熟悉SQL语言的语法和基本操作,在实际应用中能够灵活运用SQL语句进行数据的查询、插入、更新和删除。

二、实验内容1.创建数据库和数据表2.插入数据3.查询数据4.更新数据5.删除数据三、实验过程1.创建数据库和数据表首先,通过以下命令创建一个名为"employee"的数据库:CREATE DATABASE employee;然后,使用以下命令切换到该数据库:USE employee;接下来,创建一个名为"employees"的数据表,并定义其中的字段和数据类型:CREATE TABLE employeesid INT PRIMARY KEY,name VARCHAR(50),age INT,salary FLOAT2.插入数据使用以下命令向数据表中插入数据:INSERT INTO employees (id, name, age, salary) VALUES (1,'John', 25, 5000);INSERT INTO employees (id, name, age, salary) VALUES (2,'Alice', 30, 6000);INSERT INTO employees (id, name, age, salary) VALUES (3,'Tom', 28, 5500);3.查询数据可以使用SELECT语句来查询数据。

例如,要查询所有员工的信息,可以使用以下命令:SELECT * FROM employees;这将返回表中所有的记录。

还可以使用WHERE子句来进行更精确的查询。

例如,要查询年龄大于25岁的员工信息,可以使用以下命令:SELECT * FROM employees WHERE age > 25;这将返回年龄大于25岁的员工记录。

数据库实验报告 SQL语言

数据库实验报告 SQL语言

数据库原理及实验报告实验6 视图实验目的:1)掌握交互式创建、删除视图的方法2)掌握使用SQL创建、删除视图的方法3)掌握交互式更新视图的方法4)掌握使用SQL更新视图的方法实验内容6.1实验题目:创建视图实验过程:1)交互式创建视图VIEW_S2)交互式创建成绩视图VIEW_SCORETABLE3)使用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_S2)使用SQL删除视图VIEW_CTABLE实验结果:实验7 数据查询实验目的:1,掌握从简单到复杂的各种数据查询。

包括,单表查询、多表连接查询、嵌套查询、集合查询。

2,掌握用条件表达式表示检索结果。

3,掌握用聚合函数计算统计检索结果。

实验7.1 单表查询实验目的:1,掌握指定列或全部列查询。

2,掌握按条件查询。

3,掌握对查询结果排序。

4,掌握使用聚集函数的查询。

5,掌握分组统计查询。

实验内容:1,指定或全部列查询。

2,按条件查询及模糊查询。

3,对查询结果排序。

4,使用聚集函数的查询。

5,分组统计查询。

实验7.2 连接查询实验目的:掌握设计一个以上数据表的查询方法。

多表之间的连接包括等值连接、自然连接、非等值连接、自身连接、自身连接、外连接和复合连接。

sql数据库实验报告

sql数据库实验报告

sql数据库实验报告SQL数据库实验报告一、引言SQL(Structured Query Language)是一种用于管理关系型数据库的编程语言。

在本次实验中,我们使用SQL语言进行了数据库的设计、创建和操作,以及对数据库的查询和更新等操作。

本报告将详细介绍实验的目的、设计思路、实验过程和实验结果等内容。

二、实验目的本次实验的主要目的是熟悉SQL语言的使用,掌握数据库的设计和操作技巧。

通过实际操作,加深对数据库原理和相关知识的理解,并能够灵活运用SQL语言进行数据库的管理和操作。

三、实验设计本次实验的数据库设计基于一个图书馆管理系统。

我们需要设计多个表格,包括图书、读者、借阅记录等,并建立相应的关系。

为了实现这一目标,我们采用了以下步骤:1. 创建数据库:首先,我们使用SQL语句创建一个新的数据库,命名为"Library"。

2. 创建表格:接下来,我们根据需求创建了多个表格,包括"Books"、"Readers"和"BorrowRecords"等。

每个表格都有相应的字段,用于存储相关数据。

3. 设计关系:在创建表格的过程中,我们需要考虑不同表格之间的关系。

例如,图书表格和读者表格之间可以建立借阅关系,通过读者ID和图书ID进行关联。

4. 插入数据:创建表格后,我们使用SQL语句向表格中插入测试数据。

这些数据包括图书的名称、作者、出版日期等信息,以及读者的姓名、年龄、性别等信息。

5. 查询和更新:最后,我们使用SQL语句进行数据库的查询和更新操作。

通过编写合适的查询语句,我们可以实现对图书、读者和借阅记录等数据的检索和修改。

四、实验过程在实验过程中,我们按照上述设计思路一步步进行操作。

首先,我们使用SQL 语句创建了一个名为"Library"的数据库。

接着,我们创建了三个表格,分别是"Books"、"Readers"和"BorrowRecords"。

数据库原理实验6--sql语句4

数据库原理实验6--sql语句4

数据库原理实验合肥师范学院计算机科学与技术系 1 SQL 语句(四)一、目的和要求1. 熟悉数据库的数据更新操作,能够使用SQL 语句对数据库进行数据的插入、更新、删除操作2. 熟悉SQL 语言支持的有关视图的操作,能够熟练使用SQL 语句来创建需要的视图,对视图进行查询和取消视图二、实验内容基于上次试验所建立的school 数据库,在数据库中,存在这样的关系:学生可以选择课程;一个课程对应一个教师。

在choices 中保存学生的选课记录。

按以下要求进行查询操作:1) 将teachers 表中编号为“200010493”的老师工资改为40002) 将由编号为“200016731”的老师讲授的课程全部改由姓名为“rnupx ”的老师讲授3) 删除年纪高于1998的学生信息4) 删除成绩不及格的选课记录5) 定义学生姓名与选课信息的视图views6) 查询学生为“uxjof ”的学生的选课信息7) 查询选修课程“UML ”的学生的编号和成绩8) 在视图views 中将姓名为“uxjof ”的学生的选课成绩都加上5分9) 取消视图views10) 定义选课信息和课程名称的视图viewc附:预习报告基本格式一、实验目的及要求本次上机实践所涉及并要求掌握的知识点。

二、实验环境本次上机实践所使用的平台和相关软件。

三、实验内容及实验步骤上机实践内容及实现步骤或语句实验报告基本格式一、实验目的本次上机实践所涉及并要求掌握的知识点。

二、调试过程及实验结果详细记录实验过程中出现的问题及解决方法。

记录按预习报告中的步骤或语句进行实验,执行后的结果。

三、总结对上机实践结果进行分析,上机的心得体会及改进意见,记录实验中尚未解决的问题。

sql语言实验报告[最新版]

sql语言实验报告[最新版]

sql语言实验报告sql语言实验报告篇一:数据库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文件的形式保存在磁盘上。

PRIMARY KEY, Sname CHARUNIQUE, Ssex CHARprimary key, CnameCHARSQL定义语言实验目的:1.熟练掌握SQL语言进行基本表结构的创建。

2.熟练应用SQL语言进行表结构的修改。

3.掌握SQL语言进行基本表的删除。

4.掌握SQL语言进行索引的建立和删除5.选择具体的数据库管理系统进行实现(Access 或SQL Server)实验内容和要求: 1.切换到Access的SQL视图或者打开SQL Server查询分析器进行定义操作2.用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度参照实验一)3.用SQL语言ALTER语句修改表结构;a)STUDENT表中SNO设为非空和唯一;b)STUDENT表中增加一个字段SBIRTH,类型设置为日期时间类型,增加一个ADDRESS字段,类型为文本(字符);c)删除STUDENT表中ADDRESS字段;d)COURSE表中CNO字段设为非空和唯一;4.重新定义一个简单表,然后用SQL语言DROP语句删除该表结构;5.用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引;6.用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引;7.用SQL语言DROP语句删除索引;8.输入部分数据,并试着修改其中的错误;实验过程与步骤:(1)创建学生表student的实现如下:create table student, ssex char , sage smallint, sdeptchar);(2)创建课程表course的实现如下:create table course, cnamechar); (4)创建选课表sc实现如下:create tablesc); (5)表建完后,就是对表结构的操作,可用drop删除表的某一列,create index 创建索引,用add constraint添加属性等,具体操作详见压缩包对实验内容的实现的命令。

数据库SQL语言编程实验

数据库SQL语言编程实验

实验二 SQL语言编程实验(一)Structured Query Language,简称SQL,是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制4个方面,是一个通用的、功能极强的关系数据库语言,目前已成为关系数据库的标准语言。

实验目的:使用数据库管理系统SQL Server的查询分析器,巩固学习SQL语言。

教学课时数为6。

实验内容:熟练查询分析器的各种操作,使用SQL语言进行编程设计。

实验要求:能够熟练使用查询分析器,掌握SQL中的DDL、DML、DCL等各种语言,完成各种编程练习.理解视图的概念,能够按照要求设计数据库的外模式.实验操作题目(1) 使用DDL语言定义基本表.有一个员工项目数据库,现有四张表,分别是部门(DEPT),员工(EMP),项目(PROJ)以及员工参与项目的情况表(EP)。

其中一个员工属于一个部门,一个部门有多个员工;一个员工可同时参加多个项目,一个项目有多个员工一起开发。

用SQL语言中的DDL语言建立这四张表,表的主码,以及设计并建立表的外码和索引,其中周期部门表(DEPT)上按部门名称设计升序唯一索引,在员工表(EMP)上按照部门设计聚簇索引,按照职工工资降序索引,在员工项目表上按员工号升序、项目号降序建立唯一索引。

表设计:create table DEPT(DNO char(20)not null,DNAME char(20)not null,CNAME char(20),constraint PK_DEPT primary key(DNO))create table PROJ(PNO char(20)not null,PNAME char(20)not null,PCITY char(20)not null,constraint PK_PROJ primary key(PNO))create table EMP(ENO char(20)not null,ENAME char(10)not null,ESEX char(10)not null,ESALARY int,DNO char(20)not null,constraint PK_EMP primary key(ENO),constraint fk_EMP_DNO foreign key(DNO)references DEPT(DNO))create table EP(ENO char(20)not null,PNO char(20)not null,RESPONSE char(20),constraint PK_EP primary key(ENO,PNO),constraint fk_EP_ENO foreign key(ENO)references EMP(ENO), constraint fk_EP_PNO foreign key(PNO)references PROJ(PNO))(2) 使用DML语言输入以上表中的数据(INSERT,UPDATE和DELETE 语句)insert into DEPT(DNO,DNAME)VALUES('D1','厂部')insert into DEPT(DNO,DNAME)VALUES('D2','工程部')insert into DEPT(DNO,DNAME)VALUES('D3','技术部')insert into DEPT(DNO,DNAME)VALUES('D4','质监部')insert into PROJ(PNO,PNAME,PCITY)VALUES('J1','Y','天津')insert into PROJ(PNO,PNAME,PCITY)VALUES('J2','W','上海')insert into PROJ(PNO,PNAME,PCITY)VALUES('J3','X1','宁波')insert into PROJ(PNO,PNAME,PCITY)VALUES('J4','S','北京')insert into EMP(ENO,ENAME,ESEX,ESALARY,DNO) VALUES('1001','李月','男',1200,'D1')insert into EMP(ENO,ENAME,ESEX,ESALARY,DNO) VALUES('1002','魏兰','女',1440,'D3')insert into EMP(ENO,ENAME,ESEX,ESALARY,DNO) VALUES('1003','赵希青','男',1360,'D2')insert into EMP(ENO,ENAME,ESEX,ESALARY,DNO) VALUES('1004','张明','男',1600,'D3')insert into EP(ENO,PNO,RESPONSE)VALUES('1001','J1','总工')insert into EP(ENO,PNO,RESPONSE)VALUES('1001','J3','联系人')insert into EP(ENO,PNO,RESPONSE)VALUES('1002','J1','技术负责')insert into EP(ENO,PNO,RESPONSE)VALUES('1002','J2','技术监督')insert into EP(ENO,PNO,RESPONSE)VALUES('1003','J1','现场管理')insert into EP(ENO,PNO,RESPONSE)VALUES('1004','J3','主管')(3) 对以上表中的数据以下数据的更新:①删除有关‘J3’项目的所有数据Delete from EPwhere PNO='J3'Delete from PROJwhere PNO='J3'②将D2部门员工的工资增加5%UPDATE EMPSET ESALARY=ESALARY*1.05WHERE DNO='D2'③修改J2项目的所在城市为北京UPDATE PROJSET PCITY='北京'WHERE PNO='J2'④删除张明这个员工的所有信息Delete from EPwhere ENO=(select ENO from EMPwhere ENAME='张明')Delete from EMPwhere ENAME='张明'(4)完成以下简单查询①求参加‘J3’项目的员工号select ENOfrom EPwhere PNO='J3'②查询工资在1500以上的员工信息select*from EMPwhere ESALARY>1500③求没有参加‘J2’项目的员工号select ENO from EMPwhere not ENO=(select ENO from EPwhere PNO='J2')⑦找出参加项目数大于3的员工号select EP.ENO from EP group by EP.ENO having COUNT(EP.PNO)>=3⑧统计每个部门的最高工资、最低工资、平均工资select EMP.DNO as 部门,MAX(EMP.ESALARY)as 工资最高,MIN(EMP.ESALARY)as 工资最低 ,AVG(EMP.ESALARY)as 平均工资from EMP GROUP by EMP.DNO⑨查询人员数目大于30的部门号select EMP.DNO from EMP group by EMP.DNO having COUNT(EMP.ENO)>=30。

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

北华航天工业学院《数据库原理与应用》实验报告报告题目:SQL语言作者所在系部:计算机系作者所在专业:网络工程作者学号:20114052233作者姓名: 张旭刚指导教师姓名:李建义完成时间:20134.24北华航天工业学院教务处制SQL语言一、实验目的1、理解数据库以及数据表的设计;2、熟悉SQLServer2005中的数据类型;3、熟悉使用SQL语句创建和删除模式和索引;4、掌握使用SQL语句创建、修改和删除数据表;5、掌握使用SQL语句查询表中的数据;6、掌握使用SQL语句插入、修改和删除数据表中的数据;7、掌握使用SQL语句创建、删除、查询和更新视图。

二、实验内容(一)创建数据库和模式1、通过SQL语句创建图书信息管理数据库,命名为“db_Library”,数据文件和日志文件放在D盘下以自己学号和姓名命名的文件夹中,数据文件的逻辑名为db_Library_data,数据文件的操作系统名为db_Library_data.mdf,文件初始大小为10MB,最大可增加至300MB,增幅为10%;日志文件的逻辑名为db_Library_log,日志文件的操作系统名为db_Library_data.ldf,文件初始大小为5MB,最大可增加至200MB,增幅为2MB。

2、通过SQL语句在该数据库中创建模式L-C。

(二)创建和管理数据表要求为各数据表的字段选择合适的数据类型及名称;为各数据表设置相应的完整性约束条件。

1、通过SQL语句将以下数据表创建在L-C模式下:课程信息表(tb_course)——课程编号、课程名、先修课、学分2、通过SQL语句将以下数据表创建在该数据库的默认模式dbo下:图书类别信息表(tb_booktype)——类别编号、类别名称图书信息表(tb_book)——图书编号、类别编号、书名、作者、出版社、定价、库存数读者信息表(tb_reader)——读者编号、姓名、性别、学号、班级、系部借阅信息表(tb_borrow)——图书编号、读者编号、借阅日期、归还日期3、通过SQL语句对读者信息表进行修改:删除系部字段、添加所在系字段。

4、通过SQL语句对图书信息表进行修改:将定价的数据类型改为REAL。

5、通过SQL语句删除课程信息表。

(三)创建和删除索引1、使用SQL语句在图书信息表上创建一个非聚簇索引IX_S_QUANTITY,要求按照该表中库存数字段的降序创建。

2、使用SQL语句在读者信息表上创建一个唯一的非聚簇索引IX_S_NAME,要求按照该表中的姓名字段的升序创建。

3、使用SQL语句删除之前创建的两个索引。

(四)数据库及数据表设计根据周围的实际应用情况,自选一个小型的数据库应用项目进行研究,完成该系统的设计。

要求2人一组,通过需求分析,列出系统的主要功能,并完成该系统数据库的逻辑结构设计。

例如可选择学籍管理系统、企业进销存管理系统、人事管理系统或在线考试系统等。

(五)数据查询通过SSMS向各数据表中添加以下记录。

(1对以上数据表,完成以下操作:(1)查询每本图书的所有信息;(2)查询每个读者的读者编号、姓名和班级;(3)查询每条借阅记录的借阅天数(函数DA TEDIFF获取两个日期的差);(4)查询被借阅过的图书的图书编号;(5)查询图书编号为“10006”的书名和作者;(6)查询库存数在5到10本之间的图书的图书编号和书名;(7)查询计算机系或电子系姓张的读者信息;(8)查询书名包括“英语”的图书信息;(9)统计男读者、女读者的人数;(10)统计各类图书的类别编号、平均定价以及库存总数;(11)统计每本书籍借阅的人数,要求输出图书编号和所借人数,查询结果按人数降序排列;(12)查询有库存的各类别图书的类别编号、类别名称和借阅数量;(13)查询借阅了“大学英语”一书的读者,输出读者姓名、性别、系部;(14)查询每个读者的读者编号、姓名、所借图书编号以及所借阅日期;(LEFT OUTERJOIN)(15)查询现有图书中价格最高的图书,输出书名、作者、定价;(16)查询借阅了“大学英语”但没有借阅“C++程序设计”的读者,输出读者姓名、性别、系部;(17)统计借阅了2本以上图书的读者信息;(18)查询借阅了“大学英语”一书或者借阅了“C++程序设计”一书的读者信息;(用集合查询完成)(19)查询既借阅了“大学英语”一书又借阅了“C++程序设计”一书的读者信息;(用集合查询完成)(20)查询计算机系中比其他系所有读者借书数量都多的读者的信息;(21)在读者信息表中插入一条新的记录(读者编号:R10011;姓名:张三;所在系:电子系);(22)定义一个表tb_booknew,包含图书编号、书名和类别名称字段,要求将类编编号为“3”的图书的图书编号、书名和类别名称插入到tb_bknew表中;(23)将类别编号为“3”的所有图书的库存数增加5;(24)将“C++程序设计”这本书的归还日期增加一个月(函数DATEADD)。

(25)删除姓名为“张三”的读者的信息;(26)删除tb_bknew表中的所有数据;(27)创建一个名为“读者借阅信息_VIEW”的视图,要求显示计算机系所有读者的借阅信息,包括读者编号、姓名、所在系、图书编号、书名和借阅日期等字段,更新该视图时要保证只有计算机系的读者借阅信息;(28)创建一个名为“图示借阅信息_VIEW”的视图,要求显示图书的借阅情况,包括图书编号、书名、库存数、借阅次数字段;(29)查询借阅次数大于2的图书的图书编号、书名、库存数和借阅次数;(30)删除“图示借阅信息_VIEW”视图。

三、实验步骤(1)查询每本图书的所有信息;select*from tb_book;(2)查询每个读者的读者编号、姓名和班级;select Rnum,name,classfrom tb_reader;(2) (3) (4)(3)查询每条借阅记录的借阅天数(函数DATEDIFF获取两个日期的差);select 'Borrowday'=datediff(DD,Bodata,redata)fromtb_borrow;(4)查询被借阅过的图书的图书编号;select Bnumfrom tb_borrow;(5)查询图书编号为“10006”的书名和作者;selectBname,writerfromtb_bookwhere Bnum='10006';(6)查询库存数在5到10本之间的图书的图书编号和书名;select Bnum,Bnamefrom tb_bookwhere Knum between5 and 10;(7)查询计算机系或电子系姓张的读者信息;select*fromtb_readerwhere(namelike'张%'and szxibu='计算机系')or(name like'张%'and szxibu='电子系');(6)(7)(8)查询书名包括“英语”的图书信息;select*from tb_bookwhere Bnamelike '%英语%';(9)统计男读者、女读者的人数;select Rsex,'num'=count(*)from tb_readergroup by Rsex;(10)统计各类图书的类别编号、平均定价以及库存总数;select Tynum,'Average price'=AVG(price),'Bookstore'=SUM(Knum)from tb_bookgroupbyTynum;(11)统计每本书籍借阅的人数,要求输出图书编号和所借人数,查询结果按人数降序排列;select Bnum,'num'=COUNT(Rnum)rom tb_borrowgroup by Bnumorder by num desc;(12)查询有库存的各类别图书的类别编号、类别名称和借阅数量;selecttb_booktype.Tynum,tb_booktype.Tyname,'quantity'=COUNT(*)from tb_book,tb_booktype,tb_borrowwheretb_book.Knum>0and tb_book.Tynum=tb_booktype.Tynumand tb_book.Bnum=tb_borrow.Bnumgroup by tb_booktype.Tynum,tb_booktype.Tyname;(13)查询借阅了“大学英语”一书的读者,输出读者姓名、性别、系部;selectname,Rsex,szxibufrom tb_readerwhereRnumin(select Rnumfrom tb_borrowwhere Bnum=(select Bnumfromtb_bookwhereBname='大学英语'));(14)查询每个读者的读者编号、姓名、所借图书编号以及所借阅日期;(LEFT OUTERJOIN)select tb_reader.Rnum,tb_reader.name,Bnum, Bodatafrom tb_readerLEFT OUTER JOINtb_borrow on(tb_reader.Rnum=tb_borrow.Rnum);(见下页)(15)查询现有图书中价格最高的图书,输出书名、作者、定价;select Bname,writer,pricefromtb_bookwhere price=(select MAX(price)fromtb_book);(16)查询借阅了“大学英语”但没有借阅“C++程序设计”的读者,输出读者姓名、性别、系部;(14)select name,Rsex,szxibufrom tb_readerwhere Rnumin(select Rnumfrom tb_borrowwhereBnum=(select Bnumfrom tb_bookwhere Bname='大学英语'))exceptselect name,Rsex,szxibufrom tb_readerwhere Rnum in(selectRnumfrom tb_borrowwhere Bnum =(select Bnumfromtb_bookwhere Bname='C++程序设计') );(17)统计借阅了2本以上图书的读者信息;select*from tb_readerwhere Rnumin(selectRnumfrom tb_borrowgroup byRnumhaving count(*)>=2);(18)查询借阅了“大学英语”一书或者借阅了“C++程序设计”一书的读者信息;(用集合查询完成)select*from tb_readerwhere Rnum in (select Rnumfrom tb_borrowwhere Bnum in(select Bnumfrom tb_bookwhere Bname in('C++程序设计','大学英语')));(19)查询既借阅了“大学英语”一书又借阅了“C++程序设计”一书的读者信息;(用集合查询完成)select *from tb_readerwhereRnum in(select Rnumfrom tb_borrowwhere tb_borrow.Bnum in(select Bnumfromtb_bookwhere Bname='大学英语')intersectselect Rnumfrom tb_borrow,tb_bookwhere tb_borrow.Bnum in(select Bnumfromtb_bookwhereBname='C++程序设计'));(20)查询计算机系中比其他系所有读者借书数量都多的读者的信息;select*from tb_readerwhere szxibu ='计算机系' and Rnuminﻩﻩﻩ(selecttb_reader.Rnumﻩfromtb_reader,tb_borrowﻩﻩﻩﻩwhere szxibu ='计算机系'and tb_reader.Rnum=tb_borrow.Rnumﻩﻩﻩgroupbytb_reader.Rnum having COUNT(*)>all ﻩﻩﻩﻩﻩ(selectCOUNT (*)ﻩﻩﻩﻩfrom tb_reader,tb_borrowﻩﻩﻩﻩwhereszxibu !='计算机系' and tb_reader.Rnum=tb_borrow.Rnumﻩﻩﻩﻩﻩﻩgroup by tb_reader.Rnum)(21)在读者信息表中插入一条新的记录(读者编号:R10011;姓名:张三;所在系:电子系);INSERTINTO tb_reader(Rnum,name,szxibu)VALUES('R10011','张三','电子系');(22)定义一个表tb_booknew,包含图书编号、书名和类别名称字段,要求将类编编号为“3”的图书的图书编号、书名和类别名称插入到tb_bknew表中;create table tb_booknew(Bnumchar(10)primary key,Bnamechar(20),Tyname char(20)insertintotb_booknewselect tb_book.Bnum,tb_book.Bname,tb_booktype.Tynamefrom tb_book,tb_booktypewhere tb_book.Tynum=tb_booktype.Tynum and tb_book.Tynum='3';(23)将类别编号为“3”的所有图书的库存数增加10;update tb_book set Knum=Knum+10 where Tynum='3'(24)将“C++程序设计”这本书的归还日期增加二个月(函数DATEADD)。

相关文档
最新文档