MySQL学习之数据库基本操作篇

上传人:飞*** 文档编号:28276590 上传时间:2018-01-16 格式:DOC 页数:20 大小:1.74MB
返回 下载 相关 举报
MySQL学习之数据库基本操作篇_第1页
第1页 / 共20页
MySQL学习之数据库基本操作篇_第2页
第2页 / 共20页
MySQL学习之数据库基本操作篇_第3页
第3页 / 共20页
MySQL学习之数据库基本操作篇_第4页
第4页 / 共20页
MySQL学习之数据库基本操作篇_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《MySQL学习之数据库基本操作篇》由会员分享,可在线阅读,更多相关《MySQL学习之数据库基本操作篇(20页珍藏版)》请在金锄头文库上搜索。

1、实验前准备:1、 安装 mysql 数据库,使用 “添加/删除程序”组件,安装好 mysql 相关的组件,建议安装 mysql 下面的全部子组件。2、 启动 mysql 数据库服务器程序:service mysqld start3、 建议管理员口令,并使用它登录Mysqladmin -u root password 密码Mysql u root -p建立新用户 (或者按照教材内容)格式:grant all privileges on 数据库.* to 用户名登录主机 identified by 密码 ; 例如:增加一个用户 test 密码为 1234,让他只可以在 localhost 上登录,

2、并可以对数据库Shopex 进行所有的操作(localhost 指本地主机,即 MYSQL 数据库所在的那台主机) , 在 MYSQL 的提示符下: mysql 录入 grant all privileges on shopex.* to testlocalhost identified by 1234; 通过以上操作,你建立一个新的数据库 shopex,并增加了一个名为 test 对 shopex 数据库有所有操作权限。实验一:创建并使用一个数据库。实验背景:把 MySQL 安装在 Ubuntu linux 上之后,我们的老师和学生们仍然不能直接使用 MySQL登记或查看学生的信息。MySQ

3、L 是关系数据库的一种,关系数据库的数据在逻辑上是以二维表的形式组织起来的。所以我们要先建立数据库和表。实验目的:掌握在 MySQL 中创建数据库,创建表。设置主键,设置字段默认值以及约束的方法。实验分析:1) 使用 MySQL 的命令创建一个数据库。2) 使用这个新建的数据库。3) 在这个数据库中创建表并设置表中字段的属性。注意:MySQL 的命令通常由 SQL 语句组成,命令的结尾以分号结束。 (有些例外不需要加分号,例如退出的命令 exit)说明:使用 MySQL 的连接命令连接到 MySQL,即进入了 MySQL 的客户端。客户端提示符: mysql 表示准备好接受一条新命令。 - 为

4、等待多行命令的下一行。 为等待下一行,收集以单引号开始的字符串。 ” 为等待下一行,收集以双引号开始的字符串。 如果想取消之前输入命令的执行,打入c 取消命令的执行。注:此手册中用到的 SQL 语句语法可参考SQL 学习手册实验步骤:步骤一:新建数据库和表。1) 打开终端,使用 root 用户连接上 MySQL。使用命令:mysql u root p2) 新建一个数据库,名为 student_management。使用命令: create database student_management;3) 查看现在 MySQL 中存在的数据库。使用命令:show databases;4) 使用新创建

5、的 student_management 数据库。使用命令: use student_management;5) 查看 student_management 数据库中的表。使用命令: show tables;6) 新建一个记录学生信息的表(student_info) 。包含的字段有:学号(stu_id) 、姓名(name) 、性别( sex) 、班级(class) 。使用的命令:create table student_info(stu_id int,name varchar(8),sex varchar(4),class varchar(16);7) 查看 student_info 这个表的

6、结构。使用命令:desc student_info;步骤二:设置表的主键、默认值及约束。我们之前创建的 student_info 表中,字段的属性并不完整。我们只是设定了字段的数据类型,字段还可以有更多的属性。比如:字段是否可以为空,是否唯一,是否为主键,默认值。1) 在 student_management 数据库中新建教师信息表(teacher_info)。包含的字段有:教师号(tea_id) 、姓名(name)、性别(sex) 、入职时间(join_time) 、民族(nationality) 。教师号为主键,具有非空和唯一的属性。性别只有男或女两种选择,所以使用 check 约束。民族

7、默认为汉族。使用命令:create table teacher_info(tea_id int primary key,name varchar(8),sex varchar(4) check(sex=男 or sex=女),join_time date,nationality varchar(8) default 汉族)2) 查看教师信息表的结构。使用命令:desc tea_info;扩展练习:1) 在数据库 student_management 中新建课程信息表(course_info)要求包含以下字段:课程编号(course_id)、课程名称(course_name)其中课程编号为主键。

8、参考语句:create table course_info(course_id int,course_name varchar(20),primary key course_id);2) 在数据库 student_management 中新建学生成绩表(student_score)要求包含以下字段:学号(stu_id)、课程编号(course_id)、成绩(score)其中主键为学号和课程编号两个字段。参考语句:create table student_score(stu_id int,course_id int,score float,primary key(stu_id,couse_id)

9、;实验二:对数据库的数据操作实验背景:在 MySQL 中创建好了数据库及表。软件学院的辅导员就可以往学生信息表中插入本班学生的信息。辅导员在需要的时候也可以修改或删除学生信息表中的数据。实验目的:掌握向数据库中插入记录、更新记录、删除记录的方法。实验步骤:步骤一:向学生信息表(student_info)中插入学生的信息。1) 打开终端,使用 assistant 用户连接上数据库,并使用 student_management 数据库。注:assistant 用户为MySQL 学习手册之 linux 下安装配置篇中创建的用户,是辅导员使用的用户。2) 向学生信息表中插入数据。使用命令:insert

10、 into student_info values(20080201,张帅,男,计算机软件);3) 重复上一步操作,插入一部分学生信息的数据。步骤二:修改学生信息表(student_info)中某学生的信息。因为王青同学中途更换了专业,由计算机网络改为了计算机软件。在我们的数据库中也需要更改王青同学的信息。使用命令:update student_info set class=计算机软件 where name=王青;步骤三:删除某学生的信息。张玲同学因为种种原因退学了,在我们的数据库中需要删除张玲同学的信息。使用命令:delete from student_info where name=张玲;

11、扩展练习:向实验一的扩展练习中所创建的两个表 course_info 和 student_score 内插入数据。注意:插入数据的格式可参考如下。数据可以自己定,但是 student_score 表中的stu_id 和 course_id 两个字段中的数据必须要和 student_info 表和 course_info 表中的数据对应。实验三:查询数据:实验背景:学生的个人信息和成绩已经登记在数据库中了。现在就可以使用学生(student)用户连接到 MySQL 查询学生的个人信息和成绩了。实验目的:掌握:单表查询、分组查询、联合查询的方法。实验分析:1) 单表查询。仅在一个表中查询,将查询的

12、数据按某种方式排序。2) 分组查询。将数据分组查询。3) 联合查询。将相关的几个表通过某些关系连接起来,查询我们需要的数据。实验步骤:步骤一:单表查询。1) 在终端中使用 student 用户连接到数据库。使用命令:mysql u student注:student 用户为MySQL 学习之 linux 下安装配置篇中创建的用户,是学生使用的用户。2) 切换到 student_management 数据库。使用命令:use student_management;3) 查询所有学生的个人信息,并按照学号排序。使用命令:select * from student_info order by stu_

13、id;4) 查询李飞同学的学号和所在的班级。使用命令:select stu_id,class from student_info where name=李飞;5) 查询学生信息表中的记录数。使用命令:select count(*) from student_info;步骤二:分组查询。查询学生信息表中各班男女学生的人数。使用命令:select class,sex,count(*) from student_info group by class,sex; 步骤三:联合查询。1) 查询指定班级,课程的平均分。将学生信息表,课程信息表和成绩表联合。查询计算机软件班的大学英语这门课的平均成绩。使用

14、avg 函数计算平均分。使用命令:select avg(c.score) as 平均分 from student_info a,course_info b,student_score c where a.stu_id=c.stu_id and b.course_id=c.course_id and b.course_name=大学英语 and a.class=计算机软件 ;as 的作用是给字段起别名,显示的时候含义更明确。2) 查询各门课程的平均分。把课程信息表和成绩表通过课程编号(course_id )联合,按课程编号和课程名称分组,并使用 avg 函数计算出来平均分。使用命令: selec

15、t a.course_name,avg(score) from course_info a,student_score b where a.course_id=b.course_id group by a.course_id,a.course_name;3) 查询大学英语的最高分和最低分。将课程信息表和成绩表通过课程编号联合,查询出大学英语的最高分和最低分。使用命令:select max(score) as 最高分,min(score) as 最低分 from course_info a,student_score c where a.course_id=c.course_id and a.c

16、ourse_name=大学英语;扩展练习:1) 查询是否有名叫王青的女生。参考命令:select * from student_info where name=王青 and sex=女;2) 查询男生的总数。参考命令:select count(*) as 男生总数 from student_info where sex=男;3) 查询张帅的高等数学成绩。参考命令:select name,score from student_info a,student_score b,course_info c where a.stu_id=b.stu_id and b.course_id=c.course_id and a.name=张帅 and c.course_name=高等数学;实验四:修改表的结构。实验背景:在我们使用数据库的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号