数据库实验报告
- 格式:doc
- 大小:689.51 KB
- 文档页数:29
一、实验目的1. 熟悉数据库的基本概念和结构。
2. 掌握数据库的创建、修改和删除操作。
3. 熟练运用SQL语言进行数据的查询、插入、更新和删除操作。
4. 了解数据库的安全性和备份与恢复。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建数据库2. 创建表3. 插入数据4. 查询数据5. 更新数据6. 删除数据7. 修改表结构8. 删除表9. 数据库备份与恢复四、实验步骤1. 创建数据库(1)打开MySQL Workbench,连接到本地MySQL服务器。
(2)在“查询”窗口中输入以下SQL语句创建数据库:```sqlCREATE DATABASE student;```(3)执行SQL语句,创建名为student的数据库。
2. 创建表(1)在“查询”窗口中输入以下SQL语句创建学生表:```sqlCREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));```(2)执行SQL语句,创建名为student的表。
3. 插入数据(1)在“查询”窗口中输入以下SQL语句插入数据:```sqlINSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, '男'); INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 21, '男'); INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 22, '女'); ```(2)执行SQL语句,向student表中插入三条数据。
数据库实验报告范本一、实验目的本次数据库实验的主要目的是深入了解数据库的基本操作和管理,掌握数据的存储、查询、更新和删除等功能,提高对数据库的实际应用能力和问题解决能力。
二、实验环境1、操作系统:Windows 102、数据库管理系统:MySQL 803、开发工具:Navicat Premium 12三、实验内容及步骤(一)数据库的创建1、打开 Navicat Premium 12 工具,连接到本地 MySQL 服务器。
2、在连接成功后,右键点击“连接”,选择“新建数据库”。
3、在弹出的“新建数据库”对话框中,输入数据库名称(例如:student_management),选择字符集和排序规则,点击“确定”按钮创建数据库。
(二)表的创建1、展开新建的数据库,右键点击“表”,选择“新建表”。
2、在“表设计器”中,依次添加表的字段,包括字段名、数据类型、长度、是否允许为空等属性。
以学生表(students)为例,字段包括:student_id(INT 主键,自增)、student_name(VARCHAR(50))、student_age(INT)、student_gender(VARCHAR(10))。
课程表(courses)字段:course_id(INT 主键,自增)、course_name(VARCHAR(50))、course_credit(INT)。
成绩表(scores)字段:score_id(INT 主键,自增)、student_id (INT 外键,关联 students 表的 student_id)、course_id(INT 外键,关联 courses 表的 course_id)、score(FLOAT)。
3、设置完字段属性后,点击“保存”按钮,输入表名(如 students、courses、scores)创建表。
(三)数据的插入1、打开创建好的表,点击“插入”按钮。
2、在弹出的“插入行”对话框中,按照字段顺序输入相应的数据。
数据库系统实验课实验报告一、实验目的数据库系统实验课是一门重要的实践课程,旨在通过实际操作和实验,深入理解数据库系统的原理和应用,提高我们的数据库设计、管理和应用开发能力。
本次实验的具体目的包括:1、熟悉数据库管理系统(DBMS)的操作环境和基本命令。
2、掌握数据库的创建、表的设计、数据的插入、查询、更新和删除等基本操作。
3、学会使用 SQL 语句进行复杂的数据查询和数据处理。
4、理解数据库的完整性约束、索引和存储过程的概念及应用。
5、培养解决实际数据库问题的能力和团队协作精神。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,实验在 Windows 10 操作系统上进行。
使用的开发工具包括 MySQL Workbench 和命令行终端。
三、实验内容1、数据库的创建使用 CREATE DATABASE 语句创建了一个名为“student_management”的数据库,用于存储学生管理相关的数据。
2、表的设计在“student_management”数据库中,设计了以下几张表:“students”表,包含学生的学号(student_id)、姓名(student_name)、性别(gender)、年龄(age)等字段。
“courses”表,包含课程的课程号(course_id)、课程名称(course_name)、学分(credit)等字段。
“enrolls”表,用于记录学生选课的信息,包含学号(student_id)、课程号(course_id)、成绩(grade)等字段。
在设计表时,为每个字段选择了合适的数据类型,并设置了主键和外键约束,以保证数据的完整性和一致性。
3、数据的插入使用 INSERT INTO 语句向“students”、“courses”和“enrolls”表中插入了一些示例数据,以便进行后续的查询和操作。
4、数据的查询使用简单的 SELECT 语句查询了“students”表中的所有学生信息。
福建农林大学计算机与信息学院实验报告课程名称:数据库原理及应用姓名:系:计算机科学与技术专业:计算机科学与技术年级:2012 级学号:指导教师:***2014 年5月18 日实验项目列表实验一:数据库的定义实验一、实验目的:1、理解MySQL Server 6.0 服务器的安装过程和方法;2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL 语句和进行结果分析。
二、实验环境:硬件:PC机软件:Windows操作系统、MySQL Server 6.0 和Navicat for MySQL 9.0三、实验内容和原理:1、安装MySQL以及相应的GUI工具2、用SQL命令,建立学生-课程数据库基本表:学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept);课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit);选课SC(学号Sno,课程号Cno,成绩Grade);要求:1) 用SQL命令建库、建表和建立表间联系。
2) 选择合适的数据类型。
3) 定义必要的索引、列级约束和表级约束.四、实验步骤:1、运行Navicat for MySQL,然后进行数据库连接,进入到GUI界面;2、利用图形界面建立基础表:student 表的信息:course表的信息:sc表的信息:字段名类型长度约束条件Sno varchar9非空、主键、与student表中Sno外键关联,级联删除Cno varchar 4Grade smallint6非空、主键、与course表中Cno外键关联(1)连接数据库,在 localhost 中点击鼠标右键(如图1所示),点击“新建数据库”,在弹出的窗口中输入数据库名称(如图2所示),然后单击“确定”,就完成了数据库的建立。
《数据库实验报告》word版
一、实验目的
本次实验的目的是掌握SQL Server和MySQL的基本操作和基础语法知识,能够熟练地创建和管理数据库、数据表和视图,并能实现基本的数据操作和查询。
二、实验环境
本次实验使用的工具为SQL Server Management Studio和MySQL Workbench,数据库采用的是本地安装的SQL Server 2019和MySQL 8.0。
三、实验步骤
1. 使用SQL Server Management Studio创建数据库
CREATE DATABASE TestDB;
执行该语句,即可创建名为TestDB的数据库。
2. 使用MySQL Workbench创建数据库
打开MySQL Workbench,连接本地MySQL数据库,选择“管理”菜单栏,点击“新建连接”,输入用户名和密码,点击“测试连接”,连接成功后,点击“新建模式”,输入模式名称,选择“UTF-8”编码,点击“应用”,即可创建一个新的数据库。
在TestDB数据库中创建一个名为“Student”的数据表,包含学生的姓名、学号、年龄和性别信息。
输入以下SQL语句:
USE TestDB;
CREATE TABLE Student(
Name VARCHAR(20) NOT NULL,
ID INT PRIMARY KEY,
Age INT,
Gender VARCHAR(2)
);
在Student数据表中插入三条学生信息。
输入以下SQL语句:
执行该语句,即可成功插入三条学生信息。
SELECT * FROM Student;
四、实验总结。
数据库实验报告总结数据库实验报告总结(共3篇) 篇一:数据库实验心得体会数据库实验心得体会有关于数据库实验的心得体会,总的来说,受益匪浅。
在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。
最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对C 语言非常感兴趣,但还是有些心理上的陌生感。
学习数据库就和我们平时的其它科目学习一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。
我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。
进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。
开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。
后来到大三开学后有数据库原理必修课,非常高兴。
当时感觉SQL Sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。
学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。
让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧张的作业,也没有太苛刻的要求。
当老师在最后说这个课程结束了,回顾一下以前老师给我们讲过的东西,真的有很多是我们应该去注意的。
学习完SQL Sever数据库后感觉可分两大块,一块是开发,一块是管理。
开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。
有点类似于程序员。
开发还需要有较强的逻辑思维和创造能力,自己没有真正做过,但感觉应该会比较辛苦,是青春饭;管理则需要对SQL Sever数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会弄掉整个数据库,相对前者来说,后者更看重经验。
数据库实验报告姓名学号目录一.实验标题:2二.实验目的:2三.实验内容:2四.上机软件:3五.实验步骤:3(一)SQL Server 2016简介3(二)创建数据库 4(三)创建数据库表 7(四)添加数据17六.分析与讨论: 19一.实验标题:创建数据库和数据表二.实验目的:1.理解数据库、数据表、约束等相关概念;2.掌握创建数据库的T-SQL命令;3.掌握创建和修改数据表的T-SQL命令;4.掌握创建数据表中约束的T-SQL命令和方法;5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容:1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;4.添加具体数据;四.上机软件:SQL Server 2016五.实验步骤:(一)SQL Server 2016简介1.SQL Server 2016的界面2.启动和退出SQL Server 20161)双击图标,即出现SQL Server2016的初始界2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可注意事项:1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存,2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作(二)创建数据库方法一:1.点击“新建查询”,出现如下对话框2.在空白区域输入创建数据库“学生选课”的代码命令,点击“执行”3.消息框中出现“命令已成功完成”即表示数据库创建成功,在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”方法二:1.右击数据库,在弹出的快捷菜单中选择“新建”2.在弹出的对话框中输入“学生选课”3. 在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”注意事项:数据库名称在服务器中必须唯一,并且符合标识符的规则(三)创建数据库表1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表2.建立成功后的表格如图所示注意事项:1.T-SQL中创建数据库表的指令格式为:Create table 表名(字段名1 数据类型{identify | not null | null},字段名2 数据类型{identify | not null | null},……)null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略not null表示该字段的值不能为空值identify称为计数器,表示该字段的值是一组递增的证书数据。
数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。
4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。
实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。
2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。
3)⽤T-SQL语句删除数据库CPXS_bak。
2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。
3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。
6.将CP表中每种商品的价格打8折。
7.将CP表中价格打9折后⼩于1500的商品删除。
⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。
)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
数据库实验报告实验在当今数字化的时代,数据库管理系统已经成为了各种组织和企业不可或缺的一部分。
无论是处理大量的客户数据,还是管理复杂的业务流程,数据库都扮演着至关重要的角色。
为了更深入地理解数据库的工作原理和操作方法,我们进行了一系列的数据库实验。
本次实验的目的是通过实际操作,熟悉数据库的创建、数据的插入、查询、更新和删除等基本操作,掌握数据库的设计原则和优化方法,提高对数据库的应用能力。
实验环境方面,我们使用了广泛应用的 MySQL 数据库管理系统,并在本地计算机上安装和配置了相关环境。
同时,为了方便数据的管理和操作,我们还使用了图形化的数据库管理工具 Navicat Premium。
实验内容主要包括以下几个部分:首先是数据库的创建。
我们根据给定的需求分析,设计了数据库的结构,包括确定表的名称、字段的名称和数据类型等。
在创建表的过程中,需要充分考虑数据的完整性和一致性约束,例如主键的设置、外键的引用等,以确保数据的准确性和可靠性。
接下来是数据的插入。
我们使用 SQL 语句向创建好的表中插入了大量的测试数据。
在插入数据的过程中,需要注意数据的格式和类型匹配,避免出现数据插入错误。
然后是数据的查询操作。
这是数据库应用中最常见的操作之一。
我们学习并实践了各种查询语句,如简单的单表查询、多表连接查询、条件查询、排序查询和分页查询等。
通过这些查询操作,能够从大量的数据中快速准确地获取所需的信息。
数据的更新和删除操作也是实验的重要内容。
在实际应用中,数据的更新和删除需要谨慎操作,以防止误操作导致数据的丢失或错误。
我们通过实践,掌握了如何正确地进行数据的更新和删除操作,并了解了其可能带来的影响。
在实验过程中,我们也遇到了一些问题和挑战。
例如,在设计数据库结构时,由于对业务需求的理解不够深入,导致表结构设计不合理,后期需要进行大量的修改。
在进行数据查询时,由于查询语句编写不当,导致查询效率低下,花费了较长的时间才得到结果。
数据库实验报告一、实验目的本次数据库实验的主要目的是通过实际操作和实践,深入理解数据库的基本概念、原理和技术,掌握数据库的设计、创建、管理和操作方法,提高对数据库的应用能力和解决实际问题的能力。
二、实验环境本次实验使用的数据库管理系统为 MySQL 80,操作系统为Windows 10。
实验工具包括 MySQL Workbench 80 和命令行终端。
三、实验内容(一)数据库设计1、需求分析根据给定的业务场景,对数据库的需求进行了详细的分析。
例如,对于一个学生管理系统,需要存储学生的基本信息(学号、姓名、性别、出生日期等)、课程信息(课程编号、课程名称、学分等)以及学生的选课信息(学号、课程编号、成绩等)。
2、概念模型设计使用 ER 图(实体关系图)对系统中的实体和关系进行了建模。
明确了各个实体的属性和实体之间的联系,为后续的逻辑设计奠定了基础。
3、逻辑模型设计将 ER 图转换为关系模型,确定了各个表的结构,包括表名、字段名、数据类型、约束条件等。
4、物理模型设计考虑了数据库的存储结构、索引、分区等物理存储方面的设计,以提高数据库的性能和存储空间的利用率。
(二)数据库创建1、使用 MySQL Workbench 创建数据库在 MySQL Workbench 中,通过图形界面操作,创建了指定名称的数据库,并设置了相应的字符集和校对规则。
2、使用 SQL 语句创建表使用 CREATE TABLE 语句,根据逻辑模型设计的结果,创建了各个数据表,并定义了主键、外键、唯一约束、非空约束等。
(三)数据操作1、数据插入使用 INSERT INTO 语句向表中插入了大量的测试数据,以验证数据库的功能和性能。
2、数据查询使用 SELECT 语句进行了各种复杂的查询操作,包括单表查询、多表连接查询、子查询、聚合函数的使用等。
3、数据更新使用 UPDATE 语句对表中的数据进行了修改操作,确保数据的准确性和完整性。
实验一 一、 实验目的 1. 熟练掌握SQL Server 200X的使用方法。 2. 熟练掌握使用SQL Server 200X的对象资源管理器以及SQL 的DDL完成数据库的创建、删除和连接方法;数据表的建立、删除;表结构的修改。 3. 加深对表的实体完整性、参照完整性和用户自定义完整性的理解。
二、 实验环境 Windows 7, SQL Server 2008; 三、 实验内容 1.用企业管理器与SQL语句分别完成Part1 and part 2 of SSD7 exercise 1。 2.在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。用对象资源管理器(企业管理器)与SQL语句分别完成。 (1) 创建学生-课程数据库,数据文件名为student_data、大小10M,日
志文件名为student_log、大小5M的新数据库,该数据库名为student。 (2) 创建学生关系表S : 学号 姓名 性别 年龄 所在系 Sno Sname Ssex Sage sdept
(3) 创建课程关系表C : 课程号 课程名 先行课 学分 Cno Cname Cpno ccredit
(4) 创建学生-课程表SC : 学号 课程号 成绩 Sno Cno grade
(5) 将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。在表中加入至少4个元组,第一个为本人信息。 (6) 在表S上增加“出生日期”属性列。 (7) 删除表S的“年龄” 属性列。 (8) 删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 (9)备份数据库,再还原。
四、 实验过程及结果 (1)创建学生-课程数据库,数据文件名为student_data、大小10M,日志文件
名为student_log、大小5M的新数据库,该数据库名为student。
(2)分别创建学生关系表S ,C, SC (3)右键选择表,在所打开表标签右键保存sql,选择磁盘。
(4)在表S上增加“出生日期”属性列。对表s新建查询,输入ALTER
TABLE s ADD birthdate DATETIME 执行结果 (5)删除表S的“年龄” 属性列。对表S新建查询,输入alter table
s drop column sage 执行结果
(6)删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 删除表sc use student go drop table sc 恢复结果 实验二 一、 实验目的 熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式; 加深理解关系运算的各种操作(尤其是关系的选择,投影,连接和除运算)
二、 实验环境 Windows 7, SQL Server 2008 三、 实验内容 在表S,C,SC上完成以下查询: 1. 查询学生的基本信息; 2. 查询“CS”系学生的基本信息; 3. 查询“CS”系学生年龄不在19到21之间的学生的学号、姓名; 4. 找出“CS”系年龄最大的学生,显示其学号、姓名; 5. 找出各系年龄最大的学生,显示其学号、姓名; 6. 统计“CS”系学生的人数; 7. 统计各系学生的人数,结果按升序排列; 8. 按系统计各系学生的平均年龄,结果按降序排列; 9. 查询无先修课的课程的课程名和学时数; 10.统计每位学生选修课程的门数、学分及其平均成绩; 11. 统计选修每门课程的学生人数及各门课程的平均成绩; 12. 找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的 升序排列; 13. 查询选修了“1”或“2”号课程的学生学号和姓名; 14. 查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩; 15. 查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩); 16. 查询没有选修课程的学生的基本信息; 17. 查询选修了3门以上课程的学生学号; 18. 查询选修课程成绩至少有一门在80分以上的学生学号; 19. 查询选修课程成绩均在80分以上的学生学号; 20. 查询选修课程平均成绩在80分以上的学生学号; (1)
(2) (3) (4) (5) (6) (7)
(8) (9) (10) (11) (12)
(13)
(14) (15) (16) (17) (18)
(19) (20) 四、 查询语句 use Student; 1) select * from s;
2) select * from s where sDept = '魏';
3) select sNo,sName from s where sdept = '魏' and sAge not in(19,20,21);
4) select sNo,sName from s where sAge = (select max(sAge) from s where sDept = '魏');
5) select sNo,sName from s as s1 where s1.sAge = (select max(sAge) from s as s2 where s1.sDept = s2.sdept);
6) select sDept,count(*) from s where sDept = '魏';
7) select sDept,count(*) from s group by sDept order by count(*) asc; 8) select sDept,avg(sAge) '平均年龄' from s group by sDept order By avg(sAge) desc;
9) select cName '课程名',cTime '学时' from c where cpno = '无';
10) select sc.sno '学号',count(sc.cNo) '选修门数' ,avg(grade) '平均成绩',sum(ccredit) '总学分' from sc,c where sc.cno = c.cno group by sc.sno; 11) select cNo '课程',count(sNo) '人数',avg(grade) '平均分' from sc group by cNo;
12) select sc.sno '学号',sDept '专业',avg(grade) '平均分'from sc,s where sc.sno = s.sno group by s.sDept,sc.sno having avg(grade) > 85 order by sDept,avg(grade);
13) select distinct s.sno '学号',s.sName from s,sc where s.sno = sc.sno and (sc.cno = '1' or sc.cno = '2');
14) select s.sno,s.sName,sc.grade from s,sc,c where sc.sno = s.sno and sc.cno = sc.cno and grade < 60 and c.cName = '数据库';
15) select s.sno,s.sName,c.cno,c.cName,sc.grade from s,sc,c where sc.sno = s.sno and sc.cno = c.cno
16) select s.sno from s where s.sno not in(select sno from sc)
17) select sno,count(cno) from sc group by sno having count(cno) >= 3;
18) select distinct(sno),grade from sc where grade > 80; 19) select sno from sc group by sno having min(grade) > 80
20) select sno,avg(grade) from sc group by sno having avg(grade) > 80
实验三 一、 实验目的 熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用(熟悉使用UPDATE/INSERT/DELETE语句进行表操作);加深理解表的定义对数据更新的作用。
二、 实验环境 Windows 7, SQL Server 2008 三、 实验要求
1.使用SQL进行数据完整性控制。 (1) 在创建下列关系表时完成如下约束:定义实体完整性;参照完整
性(外码、在删除S中的元组时级联删除SC中相应元组、当更新S中的Sno时同时更新SC中的Sno);用户定义完整性:学生年龄<30、所在系取值唯一。 (2) 修改S中的约束条件,学号在100-1000之间。