mysql数据库实验答案
大学 mysql实验报告(五)附答案

实验报告(五)专业:班级:学号:姓名:实验名称:数据库的子查询、组合查询实验报告内容:1、写出习题3第75页第6题的2)3)5)6)小题的SQL语句2)查询读者的读者号、姓名、借阅的图书名、借出日期、归还日期。
SELECT 读者.读者号,姓名,书名,借出日期,归还日期FROM 读者, 图书,借阅WHERE 读者.读者号= 借阅.读者号AND 图书.图书号=借阅.图书号3)查询借阅了机械工业出版社出版,并且书名中包含’数据库’三个字的图书的读者,显示读者号、姓名、书名、出版社,借出日期、归还日期。
SELECT 读者.读者号,姓名,书名,出版社,借出日期,归还日期FROM 读者,图书,借阅WHERE 读者.读者号= 借阅.读者号AND 图书.图书号=借阅.图书号AND 出版社=‘机械工业出版社’ AND 书名LIKE’%数据库%’5)查询与’王平’的办公电话相同的读者的姓名。
SELECT R2.姓名FROM 读者R1, 读者R2where R1.办公电话= R2.办公电话AND R1.姓名='王小平'此语句等价与:SELECT 姓名FROM 读者WHERE 办公电话=(SELECT 办公电话FROM 读者WHERE 姓名='王小平')6)查询办公电话为’88320701’的所有读者的借阅情况,要求包括借阅了书籍的读者和没有借阅的读者,显示他们的读者号、姓名、书名、借阅日期。
SELECT 读者.读者号,姓名,图书号,借出日期FROM 读者, 借阅WHERE 读者.读者号*=借阅.读者号AND 办公电话=‘88320701’上述左外连接可可以用右外连接等价表示:SELECT 读者.读者号,姓名,图书号,借出日期FROM 读者,借阅WHERE 借阅.读者号=* 读者.读者号AND 办公电话=‘88320701’在SQLSERVER2000中,以上左外连接还可等价表示为:SELECT 读者.读者号,姓名,图书号,借出日期FROM 读者LEFT JOIN 借阅ON 读者.读者号= 借阅.读者号WHERE 办公电话=‘88320701’或者用右连接表示为:SELECT 读者.读者号,姓名,图书号,借出日期FROM 借阅RIGHT JOIN 读者ON 借阅.读者号= 读者.读者号WHERE 办公电话=‘88320701’2、写出习题3第75页第7题的1)2)4)8)小题的SQL语句1)查询所有单价小于平均单价的图书号、书名、出版社SELECT 图书号,书名,出版社FROM 图书WHERE 单价< (SELECT A VG(单价)’平均单价’ FROM 图书)2)查询’科学出版社’的图书中单价比’机械工业出版社’最高单价还高的的图书书名、单价。
大学mysql实验报告(三)附答案

实验报告(三)专业:班级:学号:姓名:实验名称:数据库的简单查询实验报告内容:1、写出第182页实验3中的SQL语句(第5)7)11)13)16)18)19)20)21)题)。
5)查询全体学生的选课情况,其成绩列值都加5,并为各列设置中文的别名SELECT Sno '学号',Cno '课程号',Grade+5 '成绩' FROM Enrollment7)显示所有选课学生的学号,并去掉重复行。
SELECT DISTINCT Sno '学号' FROM Enrollment11)查询学生年龄不在20~30之间的学生学号、姓名、所在系。
SELECT Sno ,Sname,Sdept FROM Students WHERE Sage NOT BETWEEN 20 AND 30等价于:SELECT Sno ,Sname,Sdept FROM Students WHERE Sage<20 OR Sage>3013)查询既不是数学系、计算机系,也不是艺术系学生的学号、姓名。
SELECT Sno,Sname FROM StudentsWHERE Sdept NOT IN ('Math', 'Computer', 'Art')等价于:SELECT Sno,Sname FROM StudentsWHERE Sdept! ='Math' AND Sdept! = 'Computer' AND Sdept! = 'Art'16)查找姓名以S、D或J开头的所有学生的学号、姓名。
SELECT Sno,Sname FROM Students WHERE Sname LIKE '[SDJ]%'18)查询无考试成绩的学生的学号和相应的课程号。
SELECT Sno, Cno FROM Enrollment WHERE Grade IS NULL不等价于:SELECT Sno, Cno FROM Enrollment WHERE Grade =019)查询有考试成绩(即成绩不为空值)的学生的学号、课程号。
mysql测试题及答案

mysql测试题及答案MySQL测试题及答案一、选择题1. MySQL的默认端口号是什么?A. 22B. 3306C. 80D. 443答案:B2. 下列哪个SQL语句用于查询表中的所有记录?A. SELECT * FROM table_name WHERE condition;B. SELECT * FROM table_name;C. SELECT table_name.*;D. SELECT ALL FROM table_name;答案:B3. 在MySQL中,以下哪个命令用于创建新的数据库?A. CREATE DATABASE database_name;B. NEW DATABASE database_name;C. START DATABASE database_name;D. INIT DATABASE database_name;答案:A二、填空题4. 在MySQL中,使用____语句可以删除一个表。
答案:DROP TABLE5. 要查看当前MySQL服务器上所有数据库的名称,可以使用____命令。
答案:SHOW DATABASES;6. 以下SQL语句的作用是____:SELECT column1, column2 FROMtable_name WHERE column1 = value1 ORDER BY column2 DESC LIMIT 1;答案:查询表table_name中column1等于value1的记录,并按column2降序排列,返回第一条记录。
三、简答题7. 请简述主键(Primary Key)和外键(Foreign Key)的区别。
答案:主键是表中用于唯一标识每条记录的字段,一个表只能有一个主键,并且主键的值不能为NULL。
外键是表中用于与另一个表的主键建立链接的字段,用于维护两个表之间的数据一致性,一个表可以有多个外键。
8. 解释什么是事务(Transaction)以及它的特性。
MySQL数据库基础与实践实践与练习答案-第1章

实践与练习答案第1章1.选择题BBACA2.概念题1)数据库(Dstabase DB)是“按照某种数据结构对数据进行组织、存储和管理的容器”,简单的说就是用来存储、管理数据的容器。
数据库系统(Dstabase System,DBS)是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统、应用程序、数据库管理员组成。
数据库管理系统(Dstabase Management System,DBMS)是一个管理、控制数据库容器中各种数据库对象的系统软件。
2)使用关系模型对数据进行组织、存储和管理的数据库称为关系数据库,关系数据库系统是支持关系数据模型的数据库系统。
3)表1-1SQL功能及包含的主要动词4)数据库设计分为如下6个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理结构设计阶段、数据库实施阶段以及数据库运行于维护阶段。
各阶段内容(略)。
5)E-R图中的实体表示现实世界具有相同属性描述的事物的集合,不是某一个具体事物,而是一类事物的统称。
E-R图中的实体通常使用矩形表示。
E-R图中的属性通常表示实体的某种特征,也可以使用属性表示实体间关系的特征。
一个实体通常包含多个属性,每个属性由属性名唯一标记,画在椭圆内。
3.操作题(1)学生:学好、姓名、年龄、性别、班级名班级:班级名、班主任、班级人数(2)一个学生只能属于一个班级,一个班级可以有很多学生,多以班级和学生之间是1对多的关心,即1:n。
(3)拥有(4)E-R图如下:12 班班班班班班1n 班班班班班班班班班班班班班班班班班班班。
MYSQL数据查询和答案.doc

课堂实验数据查询实验名称:数据查询目的要求:掌握使用select语句杳询表中数据的方法,包括简单杳询、排序和统计。
实验内容:1、使用select语句实现以下查询:(1)查询info_student表中所有学生的学号、姓名和班级。
SELECT student_id,student_name,classFROM info_student(2)查找所有在周二上课的课程号和课程名。
SELECT courseAS "课程号",course_name AS"课程名"FROM info_courseWHERE Course_time LIKE"周二%"(3)查询每个班级的学生人数。
提示:需用到统计函数SELECT class AS "班级",COUNT(student_id) AS "学生人数" FROMinfo_studentGROUP BY class(4)查询每个班级的男,女生人数。
SELECT class,COUNT(CASE WHEN sex="男"THEN 1 END) AS "男生人数",COUNT(CASE WHEN sex="女"THEN 1 END) AS "女生人数" FROMinfo_studentGROUP BY class(5)查询选课空间最大的课程(即限选人数与选课人数之差最大)的课程号和课程名。
select Course」d,Course_namefrom info_coursewhere Capacity-CollectedMan=(select max(Capacity-CollectedMan) from info_course)(6)査询选修了“网络营销”课程的学生学号,学生姓名,课程号、课程名、主讲教师姓名及课程的成绩。
mysql09实训指导书(带答案)

MySQL 数据库原理与应用实训九操作指导书1、实训目标:1)使用order by 子句进行查询结果排序2)使用group by 子句进行查询结果分组计算2、实训任务:1)掌握order by 子句进行查询结果排序2)掌握group by 子句进行查询结果分组计算3、实训指导请大家上机写出相应SQL语句,复制粘贴到相应题目下。
以学号+姓名命名方式提交。
1)在数据库D_sample中查询course表中开课学期按照升序排列的课程信息。
use d_sample; select * from course order by 开课学期;2)在数据库D_sample中查询sc表中选修了“ 07003”课程的学生成绩,成绩按降序进行排序。
use d_sample;select * from scwhere 课程号='07003'order by 成绩desc;3)在数据库D_sample中统计student表中学生的男女人数。
use d_sample;select性别,cou nt(性别)as人数from studentgroup by 性别;4)在数据库D_sample中统计student表中每个民族的男女人数、总人数, 以及学生总人数。
Use d_sample;select民族,性别,count(*) as人数from studentgroup by 民族,性别with rollup;5)在数据库D_sample中查询sc表中平均成绩在85分以上的课程号select课程号,avg成绩)as平均成绩from scgroup by 课程号hav ing avg成绩)>=85;6) 在数据库D_sample中查询course表中课程学分为4的课程门数used_sample;select count(*) from course where 学分=4;7)在数据库D_sample中查询sc表,查询每位学生的学号、总成绩。
数据库原理及应用教程(MySQL版)-实验素材及答案

数据库原理及应用教程(MySQL版)- 实验素材及答案第一章数据库的基本概念实验素材•数据库系统是由数据库和数据库管理系统(DBMS)组成的,数据库是用于存储和管理数据的集合,而DBMS是用于管理数据库的软件。
•数据是描述事物的符号记录,可以是数字、文字、图像等形式。
•数据库的特点包括永久存储、面向用户的数据抽象、数据的共享与并发控制等。
•数据库的应用领域非常广泛,包括企业管理、电子商务、金融服务等。
实验答案1.数据库系统是由数据库和数据库管理系统组成的。
数据库是用于存储和管理数据的集合,而数据库管理系统是用于管理数据库的软件。
2.数据是描述事物的符号记录,可以是数字、文字、图像等形式。
3.数据库的特点包括永久存储、面向用户的数据抽象、数据的共享与并发控制等。
4.数据库的应用领域非常广泛,包括企业管理、电子商务、金融服务等。
第二章数据库的逻辑结构实验素材•数据库的逻辑结构包括三层模式,分别是外模式、概念模式和内模式。
•外模式是用户对数据库的视图,它描述了用户所需要的数据的逻辑结构。
•概念模式是全局的逻辑结构描述,它描述了整个数据库的逻辑结构,是数据库设计的产物。
•内模式是数据库在存储介质上的存储结构,它是数据库管理系统的内部表示,对用户不可见。
实验答案5.数据库的逻辑结构包括三层模式,分别是外模式、概念模式和内模式。
6.外模式是用户对数据库的视图,它描述了用户所需要的数据的逻辑结构。
7.概念模式是全局的逻辑结构描述,它描述了整个数据库的逻辑结构,是数据库设计的产物。
8.内模式是数据库在存储介质上的存储结构,它是数据库管理系统的内部表示,对用户不可见。
第三章数据库的物理结构实验素材•数据库的物理结构指的是数据在存储介质上的存储方式,包括存储单位、磁盘存储和索引结构等。
•存储单位是数据库管理系统分配存储空间的最小单元,通常是一个数据块。
•数据库的物理结构设计是为了提高数据库的访问效率,如磁盘存储可以减少磁盘I/O操作,索引结构可以加快数据的查找速度。
MySQL数据库应用-国家开放大学电大学习网形考作业题目答案

MySQL数据库应用实验1-1参见4.1节内容,完成MySQL数据库的安装与配置。
MySQL数据库的安装与配置。
下载后的MySQL安装文件是mysql-5.5.12-win32.msi,运行该程序可以进行MySQL安装,在安装完成后会显示如图4-2,在图4-2中选中Launch the MySQL Instance Configuration Wizard复选框,单击Finish按钮,进行配置,显示如图4-3所示的对话框。
选择使用哪种配置方式在图4-3中,选中Detailed Configuration进行详细配置,单击Next按钮,下一界面选中Developer Machine(开发者机器)单选按钮,单击Next按钮;继续选中Multifunctional Database(多功能数据库),单击Next按钮;选择InnoDB 表空间保存位置,单击Next按钮;下一界面中选择服务器并发访问人数;设置端口号和服务器SQL模式(MySQL使用的默认端口是3306,在安装时,可以修改为其他的,如3307,但是一般情况下,不要修改默认的端口号,除非3306端口已经被占用);选中Manual Selected Default Character Set/Collation(设置默认字符集编码为utf8),单击Next按钮,选中Install As Windows Service和Include Bin Directory in Windows PATH复选框,针对Windows系统设置,单击Next按钮,打开如图4-4所示的对话框;在图4-4中输入数据库的密码“111”,单击Next按钮(注意:在安装MySQL数据库时,一定要牢记在上述步骤中设置的默认用户root的密码,这是我们在访问MySQL数据库时必须使用的),打开如图4-5所示的对话框。
图4-4 输入数据库的密码图图4-5 确认配置对话框在图4-5中单击Execute按钮,执行前面进行的各项配置,配置完成后的效果如图4-6所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一创建、修改数据库和表结构1、用create建立教学数据库的五个基本表:(1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ;(2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ;(3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ;(4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address) ;(5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj);Create Database Student default character set utf8 default COLLATE utf8_bin;Use Student;Create Table Student(SNo c har(20) primary key,SName char(20) ,SSex char(4) default '男',SAge int) ENGINE=InnoDB;Create Table Course(CNo c har(20) primary key,CName char(20) NOT NULL,CRedit f loat) ENGINE=InnoDB;Create Table SC(SNo c har(20) NOT NULL,CNo c har(20) NOT NULL,Grade float,Primary Key(SNo, CNo),Foreign Key(SNo) References Student(SNo) On Delete Cascade,Foreign Key(CNo) References Course(CNo))ENGINE=InnoD B;Create Table T(TNo c har(20) Primary Key,TName char(20) NOT NULL,TSex char(4) default '男',birthday DateTime,dept char(20),title char(20),address char(20))ENGINE=InnoDB;Create Table Salary(TNo c har(20) NOT NULL,jbgz float,zwgz float,hj float,Foreign Key(TNo) References T(TNo) On Delete Cascade)ENGINE=InnoDB;2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列;alter table Student add Dept char(20);(2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。
alter able Student modify colum sname varchar(10)3、建立一个临时表,然后将其删除Create Table temp (ANo c har(20) NOT NULL,B float, C char(10) )Drop table temp实验二建立与删除索引1、用create index在学生表student的学号sno上建立聚簇索引。
Create Clustered Index SNo_Index On Student(SNo);2、在学生表student中,为姓名sname建立非聚簇索引。
Create Index SName_Index On Student(SName);3、在课程表的课程号Cno上建立唯一索引。
Create Unique Index CNo_Index On Course(CNo);4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。
Create Index SCNo_Index On SC(SNo ASC, Grade DESC);5、用drop删除学生表student的索引。
Drop Index ;6、增加学生表student中姓名唯一约束。
Alter Table Student Add Unique(SName);7、增加学生表student中性别‘男’、‘女’唯一约束。
Alter Table Student Add Constraint:SSex check(SSex = '男' or SSex = '女');8、增加学生表student中年龄18~25岁约束。
Alter Table Student Add Constraint:SAge check(SAge >= 18 And SAge <= 25);9、增加选课表SC中学号sno的外码约束。
Alter Table SC Add Foreign Key(SNo) references Student(SNo);-实验三数据的插入、更新及删除操作1、用insert输入数据。
学生表student的数据Insert Into Student Values('991201', '张三', '男', 22, '计算机科学与技术系');Insert Into Student Values('991202', '李四', '男', 21, '信息科学系');Insert Into Student Values('991101', '王五', '男', 23, '数理系');Insert Into Student Values('991102', '陈六', '男', 19, '计算机科学与技术系');Insert Into Student Values('991103', '吴七', '女', 24, '数理系');Insert Into Student Values('000101', '刘八', '女', 22, '信息科学系');课程表course的数据Insert Into Course Values('1', '数学', 5);Insert Into Course Values('2', '数据结构', 4); Insert Into Course Values('3', '程序设计', 2); Insert Into Course Values('4', '数据库原理', 3); Insert Into Course Values('5', '操作系统', 3);选课表SC的数据Insert Into SC Values('991201', '1', 90);Insert Into SC Values('991201', '5', 80);Insert Into SC Values('991201', '3', 85);Insert Into SC Values('991201', '4', 90);Insert Into SC Values('991102', '1', 85);Insert Into SC Values('991102', '2', 98);Insert Into SC Values('000101', '2', 91);基本表T的数据Insert Into T Values('0001', '张三', '男', '1968-10-10', '信息科学系', '副教授', '湘潭');Insert Into T Values('0002', '李四', '女', '1956-11-10', '信息科学系', '教授', '长沙');Insert Into T Values('1001', '王五', '男', '1973-07-20', '计算机科学与技术系', '讲师', '湘潭');Insert Into T Values('1008', '陈六', '男', '1970-08-20', '计算机科学与技术系', '副教授', '北京');基本表Salary的数据Insert Into Salary Values('0001', 1000, 300, 1300); Insert Into Salary Values('0002', 1500, 500, 2000); Insert Into Salary Values('1001', 800, 200, 1000);*/ 2、用delete删除数据记录(1)删除教师表T中教师号为0001的元组。
(2)删除教师表T中的全部数据。
update t set birthday='1961-10-04' where Tno ='0001'Delete From T;3、用 update更新数据记录(1)把0001号教师的基本工资加100。
(2)把所有教师的基本工资都加100。