北邮 大三下 数据库实验三 mysql版本
北邮大三下数据库实验报告3

北京邮电大学实验报告课程名称数据库系统原理实验内容实验(三)实验名称数据查询实验班级2013211***姓名***指导老师卢向群成绩_________2016年4月20日实验三数据查询实验实验目的通过对实验二中建立的数据库关系表和视图的各种查询的操作,加深对SQL语言和Transact SQL查询语言的了解,掌握相关查询语句的语法和使用方法。
实验内容数据库关系表查询:(1)简单的查询操作,包括单表的查询、选择条件、结果排序等的练习;(2)多表的连接查询,包括等值连接、自然连接等;(3)复杂的查询操作,包括使用分组函数等库函数的查询操作;(4)练习带有IN、比较符的嵌套查询。
具体内容包括:1.简单查询:(1)查询班号为g99401班的学生的学号和姓名;表中没有该班级的学生,故查询结果为空。
(2) 查询“数据库开发技术”课程的学分;(3) 查询选修了课程编号为“dep04_s003”的学生的学号和成绩,并将成绩按降序输出;(4) 查询学号为“g9940205”的学生选修的课程编号和成绩;(5) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。
2.在多表连接的查询实验中,在SQL SERVER提供的交互式语言环境下用TransactSQL语句完成以下查询操作:(1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩;该题与上一题的差别在于学生姓名,这一属性与成绩不在同一张表中,故需要对两张表做自然连接。
(2)查询所有学生的学号、姓名、选修的课程名称和成绩;需要用到三张表,把三张表做自然连接,语句如下:查询结果如下:(3)查询计算机科学系林红同学选修的课程名称、学分和成绩。
(考试成绩>=60有学分,否则无学分。
)这个查询看似困难,实际上只是因为设计的表格较多,所以麻烦而已,只要将五张表自然连接就可以了。
查询结果为空,说明计算机科学系没有叫“林红”的学生。
mysql数据库实验3

mysql数据库实验3 3. 假设当前数据库是xscj,要显⽰YGGL数据库的Employees表中的内容。
select *from yggl. Employees;4. 从xs表中检索出所有学⽣的信息,并使⽤表别名studentinformation。
select *from xs as studentinformation;5. 查找xscj数据库中所有学⽣选过的课程名和课程号。
select distinct kc.课程名,xs_kc.课程号From kc,xs_kcWhere kc.课程号=xs_kc.课程号;6. 查找选修了206号课程且成绩不少于80分的学⽣的姓名和成绩。
select xs.姓名,成绩From xs join xs_kc on xs.学号=xs_kc.学号Where 课程号='206' and 成绩>=80;7. 查找选修了计算机基础课程且成绩不少于80分的学⽣的学号、姓名、课程号及成绩。
select xs.学号,姓名,课程名,成绩From xs join xs_kc on xs.学号=xs_kc.学号join kc on xs_kc.课程号=kc.课程号Where 课程名='计算机基础' and 成绩>=80;8. 查找xscj数据库中课程不同、成绩相同的学⽣的学号。
select a.学号,a.课程号,b.课程号,a.成绩from xs_kc as a join xs_kc as bon a.成绩=b.成绩 and a.学号=b.学号 and a.课程号!=b.课程号;9. 查找kc表中所有学⽣选过的课程名。
select 课程名From kc inner join xs_kcusing(课程号);10. 查找所有学⽣情况及他们选修的课程号,若学⽣未选修任何课程,也要包括其情况。
select xs.*,课程号,成绩from xs left outer join xs_kc on xs.学号=xs_kc.学号;11. 查找被选修了的课程的选修情况和所有开设的课程名。
北邮数据库实验三

实验三完整性及视图、索引视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已。
索引能够提供一种以一列或多列的值为基础迅速查找数据表(或视图)中行的能力,用来快速访问数据表(或视图)中的数据。
触发器是一种特殊的存储过程,它在特定语言事件发生时自动执行,通常用于实现强制业务规则和数据完整性。
【实验目的】掌握MySQL视图、索引的使用,理解什么是数据库的完整性。
【实验要求】1、每完成一个任务,截取全屏幕快照1~3张作为中间步骤和结果的贴图,粘贴在最后的实验报告中。
2、除了使用我们提供的数据外还要自己向表中添加些新数据,以保证每个查询结果不为空集,或计数结果不为0。
3、思考题可以选做,作为优秀加分的依据。
【实验任务】1、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。
2、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号、课程名及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。
3、为院系代码表(dept_code)创建基于“院系代码”列的索引。
条room_id列与表中已有的值重复的数据,观察系统的反馈。
5、重新修改表stud_info 、lesson_info 及stud_grade ,修改的内容为:①为三张表增加主码约束,stud_info 的主码为stud_id ,lesson_info 的主码为course_id ,stud_grade 的主码为stud_id 、course_id 。
②为表stud_grade增加外码,其中stud_id参照stud_info的stud_id,course_id参照lesson_info的course_id。
5、使用SQL语句向上题的3张表中插入新的数据,要求分别违反刚刚增加的主码约束、外码约束及原有的非空约束并观察系统的反馈。
北邮 大三下 数据库实验六 mysql版本

实验报告学院:计算机学院课程名称:数据库系统实验名称:实验六数据查询分析实验班级:2009211311姓名:schnee学号:实验六数据查询分析实验1.实验目的通过对不同情况下查询语句的执行分析,巩固和加深对查询和查询优化相关理论知识的理解,提高优化数据库系统的实践能力,熟悉了解MySQL Server 5.5中查询分析器的使用,并进一步提高编写复杂查询的SQL 程序的能力。
2.实验环境操作系统:Microsoft Windows 7旗舰版(32位)。
软件:数据库版本:MySQL 5.53.实验内容及过程3.1.索引对查询的影响3.1的四个小题,由于MySQL没有聚集索引与非聚集索引之分,所以无法验证,直接给出讨论结果。
3.1.1.对结果集只有一个元组的查询分三种情况进行执行(比如查询一个具体学生的信息),用查询分析器的执行步骤和结果对执行进行分析比较。
3.1.1.1.不建立索引,在student表中查询学号为“31427”的学生登录mysql后输入set profiling=1;然后执行语句,则show profiles就显示出来之前输入的命令的执行时间。
如果查询细节的话则show profile for query 2; 2即语句的顺序。
详见截图,则执行时间约为60毫秒:详细的select * from student where sno=’31427’;的执行细节则为:3.1.1.2.在学号上建立非聚集索引3.1.1.3.在学号上建立聚集索引先解释下索引。
索引用来快速地寻找那些具有特定值的记录,所有MySQL 索引都以B-树的形式保存。
如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。
表里面的记录数量越多,这个操作的代价就越高。
如果作为搜索条件的列上已经创建了索引,MySQL 无需扫描任何记录即可迅速得到目标记录所在的位置。
聚集索引又叫主索引,其索引的排序方式和正文的排序方式一致。
数据库原理及应用教程(MySQL版)-实验素材及答案

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

实验项目列表实验一:数据库的定义实验一、实验目的: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表的信息:Sage smallint 6Sdept varchar 20course表的信息:字段名类型长度约束条件Cno varchar 4 非空、主键Cname varchar 40Cpno varchar 4 与course表中Cno关联Ccredit smallint 6sc表的信息:字段名类型长度约束条件Sno varchar 9 非空、主键、与student表中Sno外键关联,级联删除Cno varchar 4 非空、主键、与course表中Cno外键关联Grade smallint 6(1)、连接数据库,在localhost中点击鼠标右键(如图1所示),点击“新建数据库”,在弹出的窗口中输入数据库名称(如图2所示),然后单击“确定”,就完成了数据库的建立。
北邮 大三下 数据库实验七 mysql版本

实验报告学院:计算机学院课程名称:数据库系统实验名称:实验七数据库的事务创建与运行实验班级:2009211311姓名:schnee学号:实验七数据库的事务创建与运行实验1.实验目的通过实验,了解mysql数据库系统中各类数据库事务的定义机制和基于锁的并发控制机制,掌握mysql数据库系统的事务控制机制。
2.实验环境操作系统:Microsoft Windows 7旗舰版(32位)。
软件:数据库版本:MySQL 5.53.实验内容及过程3.1.定义三种模式的数据库事务事务是由相关操作构成的一个完整的操作单元。
两次连续成功的COMMIT或ROLLBACK之间的操作,称为一个事务。
对数据库所做的一系列修改,在修改过程中,暂时不写入数据库,而是缓存起来,用户在自己的终端可以预览变化,直到全部修改完成,并经过检查确认无误后,一次性提交并写入数据库,在提交之前,必要的话所做的修改都可以取消。
提交之后,就不能撤销,提交成功后其他用户才可以通过查询浏览数据的变化。
事务的特点ACID:原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)。
一个有效的事务处理系统必须满足相关标准。
●原子性:一个事务必须被视为一个单独的内部“不可分”的工作单元,以确保整个事务要么全部执行,要么全部回滚。
●一致性:数据库总是从一种一致性状态转换到另一种一致性状态。
●隔离性:某个事务的结果只有在完成之后才对其他事务可见。
在上述例子中,当数据库执行完insert语句,还未执行delete语句时,如果此时另一个客户端对数据库的访问也同时运行,它将仍视符合条件的记录在b表中。
●持久性:一旦一个事务提交,事务所做的数据改变将是永久的。
3.1.1.显式事务显式事务,由用户指定,允许用户决定哪批工作必须成功完成,否则所有部分都不完成。
操作包括start transaction, rollback, commit。
北邮大三下第4次大数据库实验报告材料--mysql

实验四数据库接口实验-1一、实验容以教科书第四章关于SQL语言相关容为基础,课后查阅、自学ODBC接口有关容,包括ODBC的体系结构、工作原理、数据访问过程、主要API接口的语法和使用方法等。
以实验二建立的学生数据库为基础,编写C语言(或其它支持ODBC接口的高级程序设计语言) 数据库应用程序,按照如下步骤访问数据库a)Step1. ODBC初始化,为ODBC分配环境句柄b)Step2. 建立应用程序与ODBC数据源的连接c)Step3. 利用SQLExecDirect语句,实现数据库应用程序对数据库的建立、查询、修改、删除等操作d)Step4. 检索查询结果集e)Step5. 结束数据库应用程序二、实验要求要求所编写的数据库访问应用程序中使用到以下主要的ODBC API函数:(1)SQLALLocEnv:初始化ODBC环境,返回环境句柄(2)SQLALLocConnect:为连接句柄分配存并返回连接句柄(3)SQLConnect:连接一个SQL数据资源(4) SQLDriverConnect连接一个SQL数据资源,允许驱动器向用户询问信息(5) SQLALLocStmt;为语句句柄分配存, 并返回语句句柄(6) SQLExecDirect 把SQL语句送到数据库服务器,请求执行由SQL语句定义的数据库访问(7) SQLFetchAdvances将游标移动到到查询结果集的下一行(或第一行)(8) SQLGetData 按照游标指向的位置,从查询结果集的特定的一列取回数据(9) SQLFreeStmt释放与语句句柄相关的资源(10) SQLDisconnect 切断连接(11) SQLFreeConnect 释放与连接句柄相关的资源(12) SQLFreeEnv ;释放与环境句柄相关的资源三、实验环境Windows 7系统mysql数据库管理平台visual studio C++编程平台(codeblocks或者devc++)四、实验步骤1、ODBC的体系结构、工作原理、数据访问过程、主要API接口的语法和使用方法等。
实验报告三 MYSQL查询

计算机科学系实验报告
实验要求:
1、导入外部数据库
利用SQLyog从外部ACCESS数据库“教学管理.mdb”中导入数据表“学生”、“课程”、“选课成绩”要求如下:
①修改表的模式为
student(sno, sname, ssex, sage, enterDate, tuanyuan, resume, website)course(cno, cname, ctype, ccredit)、sc(sno, cno, grade)
②修改相应字段的数据类型
2、完成MYSQL特殊查询
①利用LIMIT子句,查找>20岁的所有男学生信息,显示前面的10条记录;修改查询,显示前面的10条记录,偏移量为5.
②利用ERG子句,通过正则表达式查询教师表中电话号码是(010)开头的教师记录。
③利用RAND()子句,查找所有团员的学生信息,按照年龄随即排序,并显示前面10条记录。
重复多次查看结果
④利用性别、团员、年龄对学生分组,结果显示性别、团员、年龄、学生人数字段。
⑤对④中的分组查询利用WITH ROLLUP子句,查看查询结果
实验总结:。
MySQL数据库任务驱动式教程 第3版 项目一 认识数据库

了解数据库的基本应用
4.图书管理系统 图书管理系统主要由4部分组成
项目一 认识数据库
5
信息源
信息处理器
信息用户
信息管理者
软件运行通常模式为C/S或B/S模式,包括图书的采访、编目、流通、查询等功能,有期 刊管理、系统管理、字典管理、Web检索与发布等图书借阅管理子系统。
了解数据库的几个概念
项目一 认识数据库
教师与课程是多对多的关系,要单独对应一个关系模式,把关系模式teachers的主键和关系模 式course的主键一起加入关系模式teach中,作为teach的主键,建立起教师与课程的联系。
学生与课程是多对多的关系,要单独对应一个关系模式,把关系模式students的主键和关系模 式course的主键一起加入关系模式selectcourse中,作为selectcourse的主键,建立起学生与 课程的联系。
departments(单位编号,单位名称,主任,电话) teachers(教师编号,教师姓名,性别,职称,来校时间,单位编号) students(学生编号,学生姓名,性别,出生日期,班级,单位编号) course(课程编号,课程名称,学时,学分,单位编号) teach(教师编号,课程编号) selectcourse(学生编号,课程编号,成绩)
了解数据库的基本应用
2.进销存管理系统
项目一 认识数据库
4
进销存管理系统是有效辅助企业解决业务管理、 分销管理、存货管理、营销计划的执行和监控、 统计信息的收集等业务的管理系统。
该系统要实现的一般功能包括批发销售与零售销 售管理、供货商往来账务管理、客户往来账务管 理、员工管理、销售终端销售管理、财务管理和 库存盘点等。
可以用图来更加直观地描述实体和实体的联系,这样的图叫作实体联系图(EntityRelationship Diagram,E-R图)。一般情况下,用矩形表示实体,用椭圆形表示实体的 属性,用菱形表示实体之间的联系,并用无向直线将属性与实体、实体与实体的联系连 接起来。
北邮 大三下 数据库实验一二 mysql版本

实验报告学院:计算机学院课程名称:数据库系统实验名称:实验一MySQL安装、数据库创建与维护实验实验二数据库表/视图的创建与维护实验班级:2009211311姓名:schnee学号:实验一MySQL安装、数据库创建与维护实验一.实验目的1. 通过对MySQL 5.5的安装和简单使用:①了解安装MySQL 5.5的软硬件环境和安装方法;②熟悉MySQL 5.5的相关使用;③熟悉MySQL 5.5的构成和相关工具;④通过MySQL 5.5的使用来理解数据库系统的基本概念;2. 通过创建数据库、并进行相应的维护,了解并掌握MySQL 5.5数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。
二.实验要求1.MySQL 5.5的安装实验要求学生在微机上安装MySQL 5.5数据库系统,为后续各个实验搭建实验环境。
2.数据库创建与维护实验则要求面向具体应用领域,利用相关机制,创建并维护数据库系统,为后续各个实验提供前期准备3.要求学生根据以上要求确定实验步骤,独立完成以上实验内容。
并在安装和数据库运行后熟悉MySQL 5.5 的各种运行管理。
4.实验完成后完成实验报告三.实验环境操作系统:Microsoft Windows 7旗舰版(32位)。
硬件:容量足以满足MySQL 5.5安装及后续实验的使用。
软件:数据库版本:MySQL 5.5 。
四.实验内容1.MySQL 5.5软件安装(1)在windows2007操作系统上安装并运行MySQL 5.5。
(2)练习连接和退出数据库。
(3)指定具体的安装位置。
2. 数据库创建与维护(1)创建学生选课数据库。
(2)对数据库属性和参数进行查询、相应的修改和维护,内容包括:- 最大连接数- 服务器端口- 共享缓存数- 为DBA保留的连接数- 死锁检测时间- 日志缓冲数- 设置系统同步写(3)练习数据库的删除等维护;(4)用MySQL 5.5管理工具和交互式的ISQL语句分别完成以上操作。
MySQL数据库应用实战教程 第3章教案 MySQL 常用操作

ALTER TABLE表名ALTER字段名SET default默认值;
删除默认值的命令如下所示。
ALTER TABLE表名ALTER字段名DROP default;
7.设置自增字段
六、端操作数据库
MySQL数据库也可以使用界面的客户端来操作。
课堂
实训
同步训练:
1.使用DELETE关键字在SQL中删除数据。
6.设置分组条件(HAVING)
HAVING是用来设置分组条件的条件表达式,用来在分组查询后指定一些条件来输出查询结果, WHERE语句在聚合前先筛选记录,也就是说作用在GROUP BY和HAVING子句前,而 HAVING子句在聚合后对组记录进行筛选,HAVING只能用于GROUP BY。
SELECT sex,count(sex) FROM user WHERE age > 15 GROUP BY sex HAVING count(sex)>2;
三、表操作
1.创建表
2.查看表结构。使用DESC tableName可以查看表结构。
3.复制表。复制表提供了两种方式:一种方式是可以复制表结构、数据、主键、索引;另一种方式是只能复制表结构、数据,不能复制主键和索引。
4.临时表和内存表
创建临时表,执行如下命令:CREATE temporary TABLE tmp1(id int not null);
第3章MySQL常用操作
课程名称
MySQL数据库应用实战教程(慕课版)
项目名称
MySQL 常用操作
任务名称
MySQL 常用操作
课时
4
项目性质
□演示性 □验证性 □设计性 √综合性
北邮数据库实验报告

北邮数据库实验报告北邮数据库实验报告引言数据库是现代信息系统中不可或缺的一部分,它被广泛应用于各个领域,包括商业、科学、医疗等。
数据库实验是计算机科学与技术专业的一门重要课程,通过实验可以帮助学生理解数据库的原理和操作技术。
本报告将介绍北邮数据库实验的内容和实验结果。
实验一:数据库的创建与管理在这个实验中,我们学习了如何使用SQL语言创建和管理数据库。
首先,我们创建了一个名为"学生管理系统"的数据库,并在其中创建了学生表、课程表和成绩表。
通过SQL语句,我们定义了每个表的结构和属性,并将数据插入到表中。
我们还学习了如何使用SQL语句对数据库进行查询、更新和删除操作。
通过这个实验,我们对数据库的基本概念和操作有了初步的了解。
实验二:数据库的查询与优化在这个实验中,我们学习了如何使用SQL语句进行复杂的查询操作,并了解了数据库查询的优化技术。
我们通过编写SQL语句,实现了对学生表和成绩表的联合查询,以及对课程表的条件查询。
我们还学习了如何使用索引和视图来提高数据库查询的效率。
通过这个实验,我们深入理解了数据库查询的原理和技巧。
实验三:数据库的事务与并发控制在这个实验中,我们学习了数据库的事务和并发控制机制。
我们通过编写SQL 语句,模拟了多个用户同时访问数据库的情况,并观察了并发操作可能引发的问题,如数据不一致和死锁。
我们还学习了如何使用事务和锁机制来保证数据库的一致性和并发性。
通过这个实验,我们了解了数据库并发控制的原理和方法。
实验四:数据库的备份与恢复在这个实验中,我们学习了数据库的备份和恢复技术。
我们通过使用SQL语句,将数据库的数据和结构导出到文件中,并学习了如何将导出的文件恢复到数据库中。
我们还学习了如何使用数据库管理系统提供的备份和恢复工具来实现数据库的自动备份和恢复。
通过这个实验,我们掌握了数据库备份和恢复的方法和技巧。
实验五:数据库的安全与权限管理在这个实验中,我们学习了数据库的安全和权限管理。
MySQL数据库技术》实验报告

使用须知红色替换(ctrl+H)为自己的就OK了记得修改完删除此页!!一大波写好的实验来袭,请注意。
MySQL数据库应用实验报告姓名:姓名张三学号: 11150004班级:班级软件的成绩:MySQL数据库技术实验报告系别班级学号姓名地点系别软件的班级软件的11150004 姓名张三地点机房课程名称MySQL数据库技术实验名称实验1 MySQL的使用实验过程目的要求:(1)掌握MySQL服务器安装方法(2)掌握MySQL Administrator的基本使用方法(3)基本了解数据库及其对象实验准备:(1)了解MySQL安装的软硬件要求(2)了解MYSQL支持的身份验证模式(3)了解MySQL各组件的主要功能(4)基本了解数据库、表、数据库对象实验内容:1.安装MySQL服务器和MySQL界面工具安装MySQL界面工具。
(插入安装好的界面工具截图即可)2.利用MySQL客户端访问数据库(1)打开开始,程序,MySQL,MySQL server 5.1,MySQL command line client,进入MySQL客户端界面,输入管理员密码登录。
(2)在客户端输入“help”或“\h”,查看MySQL帮助菜单,仔细阅读帮助菜单的内容。
(3)实用show语句查看系统自动创建的数据库。
(4)实用USE语句选择mysql数据库为当前数据库。
(5)使用SHOW TABLES 语句查看当前数据库中的表。
(6)使用了一条SELECT语句查看mysql数据库中存储用户信息表的user的内容。
(7)使用use语句将当前的数据库设定为information_schema,并查看数据库数据库中有哪些表。
<图表见下页>实验小结:在安装MySql中有时可能不能安装不成功,那么卸载时,会存在删除不完全的情况。
导致再次安装时依然不成功。
在对某个数据库进行操作之前,必须先选中该数据库。
在MySql安装过程中,注意修改字符集为gb2312或gbk, 以支持中文信息输入。
北邮大三下数据库实验 sqlServer版本 数据库接口实验

北京邮电大学实验报告课程名称数据库系统原理实验名称据库接口实验计算机学院网络工程11班薛玥指导教师吴起凡成绩2014-4-221.通过编写数据库应用程序,培养数据库应用程序开发能力。
2.熟悉数据库应用程序设计的多种接口的配置,培养相关的软件配置能力。
实验原理数据库应用程序设计是数据库应用的一个重要方面。
SQL语言除了以用户交互的方式使用外,还可以被数据库应用程序直接访问。
通常DBMS支持的能直接访问数据库的是SQL语言,而SQL语言不象高级语言(例如C、C++等)具备很好的数据处理能力。
通常的情况是需要将两种语言结合起来,利用SQL 访问数据,而将数据传递给某种高级语言程序,处理后又利用SQL写回数据库。
这种嵌在高级语言程序中的SQL语句称为嵌入式SQL(或者称为ESQL),和以前使用的交互式SQL(或者称为ISQL)不一样,它们随着程序执行被调用,辅助程序完成数据库数据读写的功能,而高级语言程序则负责对数据库中的数据的分析处理转换等操作。
ESQL又分成两种,如果在程序执行前SQL的结构就已经确定,最多是可以在执行时传递一些数值参数,那么这种ESQL语句称为静态ESQL。
如果程序执行时才知道执行的SQL语句时,称为动态ESQL。
SQL SERVER中执行静态ESQL(比如SQLJ)时,首先利用预编译将宿主程序语言中的SQL语句分离出来,代之以过程或函数调用,然后对剩余程序正常编译和连接库函数等。
分离出来的SQL语句则在数据库端进行处理,进行语法检查、安全性检查和优化执行策略,绑定在数据库上形成包(packet)供应用程序调用。
而通过ODBC、JDBC、OLEDB等访问数据库都是动态ESQL。
SQL SERVER执行它们时因为无法事先确实知道是什么样的SQL语句,从而无法进行静态绑定,而这种绑定过程只能在程序执行过程中生成了确定的要执行的SQL语句时才能进行,称为动态绑定。
应用程序的接口则有JDBC、ADO、OLEDB、ODBC等多种。
北邮 大三下 数据库实验三 mysql版本

实验报告学院:计算机学院课程名称:数据库系统实验名称:实验三数据查询实验班级:姓名:schnee学号:实验三数据查询实验一.实验目的通过对实验二中建立的学生数据库关系表和视图的各种查询的操作,加深对SQL查询语言的了解,掌握相关查询语句的语法和使用方法。
二.实验要求(1)用SQL语句完成以上操作(2)要求学生独立完成以上内容。
(3)实验完成后完成要求的实验报告内容。
三.实验环境操作系统:Microsoft Windows 7旗舰版(32位)。
硬件:容量足以满足MySQL 5.5安装及后续实验的使用。
软件:数据库版本:MySQL 5.5 。
四.实验内容1.数据库关系表查询:(1)简单的查询操作,包括单表的查询、选择条件、结果排序等的练习;(2)多表的连接查询,包括等值连接、自然连接等;(3)复杂的查询操作,包括使用分组函数等库函数的查询操作;(4)练习带有IN、比较符的嵌套查询。
具体内容包括:(1)在简单查询实验中,在sql语句完成以下查询操作:查询“数据库原理”课程的学分;查询选修了课程编号为“C01”的学生的学号和成绩,并将成绩按降序输出;查询学号为“31401”的学生选修的课程编号和成绩;查询选修了课程编号为“C01”且成绩高于85分的学生的学号和成绩。
(2)在多表连接的查询实验中,在SQL SERVER提供的交互式语言环境下用Transact SQL 语句完成以下查询操作:查询选修了课程编号为“C01”且成绩高于85分的学生的学号、姓名和成绩;查询所有学生的学号、姓名、选修的课程名称和成绩;(3)在复杂查询实验中,用SQL语句完成以下查询操作:查询至少选修了三门课程的学生的学号和姓名;查询所有学生的学号和他选修课程的最高成绩,要求他的选修课程中没有成绩为空的。
(4)在嵌套查询实验中,在MySQL 5.5提供的交互式语言环境下用iSQL语句完成以下查询操作,要求写嵌套查询语句:查询选修了数据库原理的学生的学号和姓名;查询没有选修数据库原理的学生的学号和姓名;班查询至少选修了学号为“31401”的学生所选修的所有课程的学生的学号和姓名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告学院:计算机学院课程名称:数据库系统实验名称:实验三数据查询实验班级:2009211311姓名:schnee学号:实验三数据查询实验一.实验目的通过对实验二中建立的学生数据库关系表和视图的各种查询的操作,加深对SQL查询语言的了解,掌握相关查询语句的语法和使用方法。
二.实验要求(1)用SQL语句完成以上操作(2)要求学生独立完成以上内容。
(3)实验完成后完成要求的实验报告内容。
三.实验环境操作系统:Microsoft Windows 7旗舰版(32位)。
硬件:容量足以满足MySQL 5.5安装及后续实验的使用。
软件:数据库版本:MySQL 5.5 。
四.实验内容1.数据库关系表查询:(1)简单的查询操作,包括单表的查询、选择条件、结果排序等的练习;(2)多表的连接查询,包括等值连接、自然连接等;(3)复杂的查询操作,包括使用分组函数等库函数的查询操作;(4)练习带有IN、比较符的嵌套查询。
具体内容包括:(1)在简单查询实验中,在sql语句完成以下查询操作:查询“数据库原理”课程的学分;查询选修了课程编号为“C01”的学生的学号和成绩,并将成绩按降序输出;查询学号为“31401”的学生选修的课程编号和成绩;查询选修了课程编号为“C01”且成绩高于85分的学生的学号和成绩。
(2)在多表连接的查询实验中,在SQL SERVER提供的交互式语言环境下用Transact SQL 语句完成以下查询操作:查询选修了课程编号为“C01”且成绩高于85分的学生的学号、姓名和成绩;查询所有学生的学号、姓名、选修的课程名称和成绩;(3)在复杂查询实验中,用SQL语句完成以下查询操作:查询至少选修了三门课程的学生的学号和姓名;查询所有学生的学号和他选修课程的最高成绩,要求他的选修课程中没有成绩为空的。
(4)在嵌套查询实验中,在MySQL 5.5提供的交互式语言环境下用iSQL语句完成以下查询操作,要求写嵌套查询语句:查询选修了数据库原理的学生的学号和姓名;查询没有选修数据库原理的学生的学号和姓名;查询至少选修了学号为“31401”的学生所选修的所有课程的学生的学号和姓名。
2.视图查询:对实验二建立的视图进行相关的查询操作,如:查询选修了课程编号为“C01”的学生的学号和成绩;查询所有学生的学号、姓名、选修的课程名称和成绩;查询选修了数据库原理的学生的学号和姓名。
五.实验步骤及结果分析1.数据库关系表查询:1.1.在简单查询实验中,在sql语句完成以下查询操作:1.1.1.查询“数据库原理”课程的学分;查询语句为:select cname, credit from course where cname=‘数据库原理’;1.1.2.查询选修了课程编号为“C01”的学生的学号和成绩,并将成绩按降序输出;查询语句为:select sno,grade from sc where cno=’C01’ order by grade desc;1.1.3.查询学号为“31401”的学生选修的课程编号和成绩;查询语句为:select cno,grade from sc where sno=’31401’;1.1.4.查询选修了课程编号为“C01”且成绩高于85分的学生的学号和成绩。
查询语句为:select sno,grade from sc where cno=’C01’ and grade>85;1.2.在多表连接的查询实验中,在SQL SERVER提供的交互式语言环境下用Transact SQL语句完成以下查询操作:1.2.1.查询选修了课程编号为“C01”且成绩高于85分的学生的学号、姓名和成绩;查询语句为:select sc.sno,sname,grade from student,sc where student.sno=sc.sno and cno=’C01’ and grade>85;1.2.2.查询所有学生的学号、姓名、选修的课程名称和成绩;查询语句为:select sc.sno,sname,cname,grade from student,sc,course where sc.sno=student.sno and o=o;查询结果共142行。
只截取上一部分如下:1.3.在复杂查询实验中,用SQL语句完成以下查询操作:1.3.1.查询至少选修了三门课程的学生的学号和姓名;查询语句为:select sc.sno,sname from sc,student where sc.sno=student.sno group by sc.sno having count(sc.sno)>=3; 共39个查询结果。
1.3.2.查询所有学生的学号和他选修课程的最高成绩,要求他的选修课程中没有成绩为空的(在此即不应该显示31402、31401)。
查询语句为:select sno,max(grade) from sc group by sno having min(grade)>0;共得到52个查询结果。
(即54-2个学生)1.4.在嵌套查询实验中,在MySQL 5.5提供的交互式语言环境下用iSQL语句完成以下查询操作,要求写嵌套查询语句:1.4.1.查询选修了数据库原理的学生的学号和姓名;查询语句为:select sc.sno,sname from student,scwhere sc.sno=student.sno ando in (select cno from course where cname=’数据库原理’);共23个查询结果1.4.2.查询没有选修数据库原理的学生的学号和姓名;查询语句为:select sno,sname from studentwhere sno not in(select sc.sno from sc inner join course on o=owhere (ame=’数据库原理’));共31个查询结果。
1.4.3.查询至少选修了学号为“31401”的学生所选修的所有课程的学生的学号和姓名。
查询语句为:select distinct sno, snamefrom studentwhere not exists ((select cno from sc where sno=’31401’)except(select cno from sc where sc.sno=student.sno));但是由于MySQL没有except关键字,所以出现错误。
最后只能用别的方法通过建视图来实现。
①学号为31401的学生所选的所有课程: create view temp as select distinct cno fromsc where sno=’31401’;②左连接:create view ttemp as select o, sno from temp left join sc ono=o ;③select sno,sname from student where sno in (select sno from ttemp group by snohaving count(distinct cno)=3);查询结果有20个同学。
2.视图查询:2.1.对实验二建立的视图进行相关的查询操作,如:2.1.1.查询选修了课程编号为“C01”的学生的学号和成绩;查询语句为:select sno,grade from isee where cno=’C01’;共25个查询结果2.1.2.查询所有学生的学号、姓名、选修的课程名称和成绩;查询语句为:select sno,sname,cname,grade from isee;共142个查询结果2.1.3.查询选修了数据库原理的学生的学号和姓名。
查询语句为:select sno,sname from isee where cname=’数据库原理’;共23个查询结果;六.实验小结实验中遇到的问题:这次实验进行比较顺利,但是在查询“至少选修了学号为“31401”的学生所选修的所有课程的学生的学号和姓名”时,发现MySQL没有except关键字,所以原来的查询语句:select distinct sno, snamefrom studentwhere not exists ((select cno from sc where sno=’31401’)except(select cno from sc where sc.sno=student.sno));出现错误。
最后只能用别的方法通过建视图来实现。
①学号为31401的学生所选的所有课程: create view temp as select distinct cno fromsc where sno=’31401’;②左连接:create view ttemp as select o, sno from temp left join sc ono=o ;③select sno,sname from student from (select sno from ttemp group by sno having09211311班count(distinct cno)>=3);在此处问题,我耽搁了一点时间,不过还是很快解决了。
实验心得:通过这次实验,我实践了简单单表查询、简单多表查询、复杂查询、嵌套子查询、视图查询等方法,在实践过程中对数据库查询语句有了进一步的了解,熟悉了更多的语句。
并且在通过另一种方法解决上述问题的过程中收获了更多的知识以及成就感。