《最新国家开放大学电大《MySQL数据库应用》网络核心课实验训练1及4答案.pdf》由会员分享,可在线阅读,更多相关《最新国家开放大学电大《MySQL数据库应用》网络核心课实验训练1及4答案.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、最新国家开放大学电大MySQL 数据库应用网络核心课实验训练 1 及 4 答案 最新国家开放大学电大MySQL 数据库应用网络核心课实验训练 1及 4 答案 盗传必究 本课程分为形成性考核和终结性末考两种考核形式,形成性考核占 50%(满分 100 分),末考为网络考试占 50%(满分 100),其中形成性考核为完成课程网站上的形考作业任务,形考作业均为主观题,包括四个实训:实训一:在 MYSQL 创建数据库和表,25 分;实训二:数据查询操作,25 分;实训三:数据增删改操作,25 分;实训四:数据库系统维护,25 分。实验训练 1 在 MySQL 中创建数据库和表 答案:步骤:1、使用 s
2、how 语句找出在服务器上当前存在什么数据库:mysqlshow databases;2、创建一个数据库 test:mysqlcreate database test;3、选择你所创建的数据库:mysqluse test;4 创建一个数据表:首先查看刚才创建的数据库中存在什么表:mysqlshow tables;(说明刚才创建的数据库中还没有数据库表)接着我们创建一个关于 students 的数据表:包括学生的学号(id),姓名(name),性别(sex),年龄(age)。mysqlcreate table students(id int unsigned not null auto_incr
3、ement primary key,name char(8)not null,sex char(4)not null,age tinyint unsigned not null,);解释:以 “id int unsigned not null auto_increment primary key“行进行介绍:“id“为列的名称;“int“指定该列的类型为 int(取值范围为 -8388608 到 8388607),在后面我们又用 “unsigned“加以修饰,表示该类型为无符号型,此时该列的取值范围为 0 到 16777215;“not null“说明该列的值不能为空,必须要填,如果不指定该属
4、性,默认可为空;“auto_increment“需在整数列中使用,其作用是在插入数据时若该列为 NULL,MySQL 将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。“primary key“表示该列是表的主键,本列的值必须唯一,MySQL 将自动索引该列。下面的 char(8)表示存储的字符长度为 8,tinyint 的取值范围为 -127 到 128,default 属性指定当该列值为空时的默认值。创建一个表后,用 show tables 显示数据库中有哪些表:mysqlshow tables;5、显示表结构:mysqldescribe stud
5、ents;6、在表中添加记录:首先用 select 命令来查看表中的数据:mysqlselect*from students;(说明刚才创建的数据库表中还没有任何记录)接着加入一条新纪录:mysqlinsert into students value(01,Tom,F,18);再用 select 命令来查看表中的数据的变化:mysqlselect*from students;7、用文本方式将数据装入一个数据库表:创建一个文本文件“student.sql”,每行包括一个记录,用 TAB 键把值分开,并且以在 create table 语句中列出的次序,例如:02 Tony F 18 03 Amy
6、 M 18 04 Lisa M 18 将文本文件“student.sql”装载到 students 表中:mysqlload data local infile”e:student.sql”into table students;再使用 select 命令来查看表中的数据的变化:mysqlselect*from students;实验训练 4:数据库系统维护 答案:1.1 实验目的 通过创建数据库、并进行相应的维护,了解并掌握 Mysql 数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。1.2 实验内容 1 数据库创建与维护(1)创建数据库表 创建学生选
7、课数据库中所包含的数据库表,数据库表结构如下:学生(学号,姓名,性别,年龄,系别,班级)课程(课程编号,课程名称,学分)选修(学号,课程编号,学生成绩)要求为各数据库表属性选择合适的数据类型。列名、数据类型(长度列、精度、小数位数项)、是否允许空值等。(2)查看和修改表结构。选择一个数据库表,练习对其表结构进行相应的修改。(3)练习用交互式的 SQL 语句分别完成以上操作。(4)对学生数据库中的三张表分别插入数据;(5)对表中的数据进行修改;(6)对表中的数据进行删除操作 2 (1)建立如下视图:学生选修课程信息视图,包括以下内容:学生学号、姓名、所在系、选修的课程编号、课程名称、成绩 (2)
8、修改以上视图,增加学生所在班级信息。(3)对以上视图删除。1.3 实验要求 1 数据库创建与维护实验则要求面向具体应用领域,利用 SQL Server 相关机制,创建并维护数据库系统,为后续各个实验提供前期准备 2 要求学生根据以上要求确定实验步骤,独立完成以上实验内容。并在安装和数据库运行后熟悉 SQL SERVER 的各种运行管理。3 实验完成后完成实验报告 1.4 实验环境 Windows8 pc 机 Mysql 配置的环境 Mysql 命令行工具 Workbench 可视化 工具 1.5 实验步骤及结果分析 1.5.1 student 数据库创建 打开命令行工具,输入密码,用 use
9、语句使用相应数据。U se student 使用老师的给的数据库。在 workbench 中我们可以看到创建数据库的代码:下面是输入的数据 此处我们会发现乱码问题,老师给的代码中写的是 Latin,我们改成 utf-8,便解决了中文乱码问题。创建数据库语句,create table+数据库名(属性名 属性类型 约束)1.5.2 数据库操作-属性查询 查询表结构:即各个属性和属性的完整性约束等。(desc student)该语句给我们展示了 我们创建的数据的所有(属性 名+类型+默认初始情况+约束等)信息。1.5.3 数据库操作-数据结构修改 在老师给的默认数据库中,我发现最后一个属性 clas
10、sno 的属性为 varchar(3);但是数据库数 据中 classno 本来是 4 位数,所以导致存储时与原数据不匹配。因此,我们修改一下该属性。即:将它改为 4 位长度的:alter table student modify classno varchar(4)DEFAULT NULL;我们在数据插入操作中进行检测。1.5.4 数据库操作 数据插入 例如,我们加入一个 学生信息,以自己为例:insert into student values(33333,茹兴康,男,1997/7/7 8:00,计算机,314 6);插入成功,因为插入的 classno 为 3146 是 4 位的,所以说
11、明 数据库结构修改成功。我们查询一下:插入成功,数据库结构修改成功。1.5.5 数据库操作-数据查询 例如:我们查询学号为 30201 的学生的所有信息。采用语句结构:select+查询的属性 from+要查找的表 where+约束条件:S elect*from student where sno=30201;1.5.6 数据库操作-数据修改 我们按学号为 30201,即第一个数据为例,修改他的名字,Update student set sname=abc where sno=30201;1.5.7 数据库操作-数据删除 我们按学号为 30201,即第一个数据为例:delete from st
12、udent where sno=30201;因为我们已经删除了该数据,所以查询 为空。1.5.8 视图操作-视图创建 视图,用来更方便的展示某些信息,或者为了更安全的选择展示或隐藏某些信息。我们将 student 表,sc 表,course 表连接起来创建新的视图,从而让学生信息更直观,更方便。创建视图所需语句:create view+视图名+as+查询语句。create view view1 as select sno,sname,dept,cno,cname,grade,classno from student natural join sc natural join course;我们在
13、 下面的 视图查询 操作 中检测试图是否创建成功。1.5.9 视图操作-视图查询 由于在上述实验中我们将第一个学生的数据删除掉了,所以我们选择查询后面的同学,查询视图操作代码和查询表格是一样的。代码:select*from view1 where sno=30203;(其中 view1 是我们创建的视图名称);由于该同学选择了三门不同的课程,因此在进行表连接的时候,增加了该同学的元组数量,最终查询出 3 条结果。1.5.10 视图操作-视图结构修改 在视图创建中,我们创建了视图的 classno 班级信息,现在我们删除这一属性。使用语句:create or replace view。C rea
14、te or replace view view1 as select sno,sname,dept,cno,cname,grade from student natural join sc natural join course;然后我们在查询一下 view1 的结构,同 table 操作一样,用 desc 语句。结果如下:显然,view1 视图结构中没有了 classno 属性。1.5.11 视图操作-视图删除 最后,我们删除视图 view1,采用语句 drop view;语句:drop view if exists view1;结果:删除成功,然后我们在查询视图 view1 时产生错误,验证了 view1 的删除。1.6 实验总结 我们进行了 对数据库表的基本操作;对视图的基本操作。让我们将数据库的理论知识和具体操作很好的结合。虽然,我们刚开始进行的实验操作都比较基础,适用语句都比较简单,但是我充分感受到了数据库的美妙,同时也大大增加了我对命令行操作的兴趣。在对数据库表和视图操作中,我经历了书上查阅,网上 mysql 命令行使用教程查阅,网上 mysql 命令语句查询,最终完成了此次实验,让我对数据库的基础语句使用以及常用语句使用有了更大的接触。同时,实验也让我对视图的作用最直接的了解,让我对理论课的学习有了更明确的目标性。