《MySQL数据库管理与应用任务式教程(微课版)单元3 创建与管理数据库》由会员分享,可在线阅读,更多相关《MySQL数据库管理与应用任务式教程(微课版)单元3 创建与管理数据库(61页珍藏版)》请在金锄头文库上搜索。
1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2024/5/11,#,单元,3,创建与管理数据库,MySQL,数据库管理与应用任务式教程(慕课版),学习内容,任务,1,创建学生,成绩,管理数据库,2,任务2 管理学生成绩管理数据库,数据库系统的组成,任务3 了解 MySQL 的结构,任务,4,卸载,MySQL,1使用命令创建和查看 MySQL 的数据库,(1)查看 MySQL 的数据库。,可使用SHOW DATABASES 语句来查看当前用户权限范围以内的数据库,其语法格式如下。,SHOW DATABASES LIKE 数据库名;,其中,中的内容是可选的。
2、若省略,表示查看所有数据库。,“LIKE 数据库名”用于匹配指定名称的数据库,数据库名用西文单引号引起来。,任务,1,创建学生成绩管理数据库,3.1.1,使用命令创建和查看学生成绩管理数据库,【例题 3.1】,查看当前用户可查看的所有数据库,。,执行如下语句,mysql SHOW DATABASES;,结果如图所示。,由此可知,MySQL 中有,information_schema、mysql、performance_schema、sakila、sys和,world 这 6 个系统数据库。,任务,1,创建学生成绩管理数据库,(2)创建 MySQL 的数据库。,可以使用,CREATE DATAB
3、ASE 语句创建数据库,其语法格式如下。,CREATE DATABASE IF NOT EXISTS 数据库名,DEFAULT CHARACTER SET 字符集名,DEFAULT COLLATE 校对规则名;,任务,1,创建学生成绩管理数据库,IF NOT EXISTS:在创建某数据库之前进行判断,只有该数据库目前尚不存在时才能执行此操作,这样可以避免数据库已经存在而重复创建的错误。,DEFAULT CHARACTER SET:指定数据库的字符集。指定字符集的目的是避免在数据库中存储的数据出现乱码。如果不指定,就使用系统默认的字符集。,DEFAULT COLLATE:指定字符集的默认校对规则
4、。,任务,1,创建学生成绩管理数据库,【例题 3.2】创建学生成绩管理数据库 cjgl。,执行如下语句。,mysql CREATE DATABASE cjgl;,结果如下。,Query OK,1 row affected(0.00 sec,),可使用 SHOW DATABASES 语句显示所有数据库名,执行如下语句。,mysql SHOW DATABASES;,结果如,右图,。,也可只显示新建的数据库。,任务,1,创建学生成绩管理数据库,3.1.2 使用 MySQL Workbench 图形化工具创建数据库,1.,打开 MySQL Workbench,在 SCHEMAS 栏的空白处单击鼠标右键
5、,,在弹出式菜单中选择,Create Schema,,可打开创建数据库的界面,,如图 3-1 所示。,任务,1,创建学生成绩管理数据库,图 3-1 选择 Create Schema,2.,在“Name”文本框中输入数据库的名称 cjgl,在 Collation 下拉列表中选择数据库指定的字符集,如选择 Server Default,如图 3-2 所示。,任务,1,创建学生成绩管理数据库,图 3-2 用 MySQL Workbench 创建 cjgl 数据库,3.,单击 Apply 按钮,打开图 3-3 所示的 Apply SQL Script to Database 对话框,单击 Apply按
6、钮,在弹出的对话框中单击 Finish 按钮,完成 cjgl 数据库的创建。此时,在 SCHEMAS 栏中会出现 cjgl 数据库图标,如图 3-4 所示。,任务,1,创建学生成绩管理数据库,图 3-3 Apply SQL Script to Database 对话框,图 3-4 cjgl 数据库创建完成,3.2.1 使用 MySQL Workbench 图形化工具管理数据库,1修改数据库,在 SCHEMAS 栏中,右击需要修改的 cjgl 数据库,,在图 3-5 所示的弹出式菜单中选择Alter Schema,,弹出修改数据库的界面。,任务,2,管理学生成绩管理数据库,图 3-5 修改数据库
7、的弹出式菜单,在本界面中,数据库的名称不可以修改。,如果要修改cjgl数据库的字符集为gb2312,,可在 Collation 下拉列表中选择 gb2312-gb2312_chinese_ci,如图 3-6 所示。,任务,2,管理学生成绩管理数据库,图 3-6 修改数据库界面,单击 Apply 按钮,打开图 3-7 所示的对话框,单击 Apply 按钮,在弹出的对话框中单击Finish 按钮,完成对 cjgl 数据库的修改。,任务,2,管理学生成绩管理数据库,图 3-7“Apply SQL Script to Database”对话框,2设置默认数据库,在 SCHEMAS 栏中,右击要指定为默
8、认数据库的 cjgl 数据库,在图 3-5 所示的弹出式菜单中选择 Set As Default Schema,SCHEMAS 栏中的 cjgl 字体会加粗显示,如图 3-8 所示。,任务,2,管理学生成绩管理数据库,图 3-8 cigl 加粗显示,图 3-5 修改数据库的弹出式菜单,3删除数据库,在SCHEMAS栏中,,右击需要删除的 cjgl 数据库,在图 3-5 所示的弹出式菜单中选择Drop Schema,弹出 Drop Schema 对话框,如图 3-9 所示。,任务,2,管理学生成绩管理数据库,图 3-9 Drop Schema 对话框,图 3-5 修改数据库的弹出式菜单,如果选择
9、 Review SQL,将显示删除数据库操作对应的 SQL 语句,如图 3-10 所示,单击Execute 按钮即可删除 cjgl 数据库。,如果选择 Drop Now,则直接执行删除数据库操作。,任务,2,管理学生成绩管理数据库,图 3-10 删除数据库操作对应的 SQL 语句,3.2.2 使用命令管理数据库,1,选择数据库,在 MySQL 中,只能对当前数据库及其中存储的数据对象进行操作。,创建 cjgl 数据库之后,该数据库不会自动成为当前数据库,需要使用 USE 语句将其指定为当前数据库。,USE 语句的语法格式如下。,USE,任务,2,管理学生成绩管理数据库,【例题 3.3】创建数据
10、库 mytest,指定字符集为 UTF-8,并把它设置为默认数据库。,执行如下语句。,mysql CREATE DATABASE mytest CHARACTER SET UTF8;,mysql USE mytest;,执行完以上语句后,如果出现 Database changed 提示,表示选择数据库成功。,打开 mytest 数据库的配置文件 db.opt,可以看到以下两行内容。,default-character-set=utf8,default-collation=utf8_general_ci,如果后续 mytest 数据库中创建的表没有指定字符集和排序规则,那么数据表将采用db.op
11、t 文件中指定的值。,任务,2,管理学生成绩管理数据库,2修改数据库,在 MySQL 中,可以使用 ALTER DATABASE 语句来修改已经存在的数据库的相关参数,其语法格式如下。,ALTER DATABASE 数据库名,DEFAULT CHARACTER SET|,DEFAULT COLLATE,任务,2,管理学生成绩管理数据库,【,例题3.4,】,将数据库mytest的指定字符集修改为gb2312,,将默认校对规则修改为gb2312_unicode_ci。,执行如下语句。,mysql ALTER DATABASE mytest CHARACTER SET gb2312 COLLATE
12、gb2312_chinese_ci;,结果如下。,Query OK,1 row affected(0.00 sec),执行如下语句。,mysql SHOW CREATE DATABASE mytest;,结果如下。,任务,2,管理学生成绩管理数据库,3删除数据库,当数据库不需要再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据。,删除数据库是将已经存在的数据库从磁盘空间中清除,清除之后,数据库中的所有数据也将一同被删除。,在 MySQL 中,可以使用 DROP DATABASE 语句删除已创建的数据库。其语法格式如下。,DROP DATABASE IF EXISTS ,任务,2,管理
13、学生成绩管理数据库,【例题 3.5】删除数据库 mytest。,执行语句及结果如下。,mysql DROP DATABASE mytest;,Query OK,0 rows affected(0.00 sec),如果删除不存在的数据库,系统会报错,示例如下。,mysql DROP DATABASE mytest;,ERROR 1008(HY000):Cant drop database mytest;database doesnt exist,为避免这种情况发生,可使用 IF EXISTS 子句。,mysql DROP DATABASE IF EXISTS mytest;,Query OK,0
14、 rows affected,1 warning(0.00 sec),任务,2,管理学生成绩管理数据库,如果删除不存在的数据库,系统会报错,示例如下。,mysql DROP DATABASE mytest;,ERROR 1008(HY000):Cant drop database mytest;database doesnt exist,为避免这种情况发生,可使用 IF EXISTS 子句。,mysql DROP DATABASE IF EXISTS mytest;,Query OK,0 rows affected,1 warning(0.00 sec),任务,2,管理学生成绩管理数据库,3.
15、3.1 了解 MySQL 的体系结构,1MySQL 的体系结构,MySQL 是基于客户端/服务器架构的数据库管理系统。首先启动客户端,然后通过相关命令告知数据库服务器进行连接以完成各种操作,数据库服务器处理后,将结果返回给客户端。,客户端可以是 MySQL 提供的工具(如 MySQL Workbench、SQLyog)、脚本语言、Web应用开发语言(如 JSP 和 PHP)和程序设计语言(如 Java、C、C+)等。,服务器为 MySQL DBMS。服务器软件运行在称为数据库服务器的计算机上。,任务,3,了解 MySQL 的结构,MySQL 的体系结构如图 3-11 所示,。,任务,3,了解
16、MySQL 的结构,Connectors 指的是与 MySQL 交互的使用不同语言(如 Java、PHP 等)开发的应用程序。,MySQL 整体主要分为 Server 层和存储引擎层。,Server 层主要用于完成 MySQL 大多数的核心服务功能,包括连接器、查询缓存、分析器,、,优化器、执行器,同时还包括一个日志模块,这个日志模块的所有执行引擎都可以共用。,(1)连接池,连接池(Connection Pool)是为了解决资源频繁分配释放造成的问题,为数据库连接创建的一个“缓冲池”。其作用为管理用户的连接、线程处理等需要缓存的需求,如进行身份验证、线程重用、连接限制、内存检查、数据缓存等。其原理为预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从缓冲池中取出一个连接,使用完毕之后再放回去。,任务,3,了解 MySQL 的结构,(2)管理服务和工具,管理服务和工具(Management Services&Utilities)是系统管理和控制工具,用于从备份和恢复、安全、复制、集群、管理、配置、迁移和元数据等方面管理数据库。,(3)SQL 接口,SQL 接口(SQL Int