MySQL数据库管理与开发实践教程 (清华电脑学堂)
上QQ阅读APP看书,第一时间看更新

3.3 管理数据库

数据库的管理包括数据库查看、数据库的修改和删除。而数据库的查看又可分为查看当前服务器中的数据库列表和查看指定数据库的详细信息。本节根据查看数据库、修改数据库和删除数据库来介绍数据库的管理。

3.3.1 查看数据库

数据库的查看主要通过SQL语句来执行。用户也可以直接在MySQL Workbench左侧看到数据库的列表,如图3-4所示。接下来分别介绍使用SQL语句查看当前服务器中的数据库列表和查看指定数据库的详细信息。

1.查看当前服务器中的数据库列表

查看当前服务器中已经存在的数据库,使用SHOW DATABASES语句。该语句将列举出来多个系统数据库和用户自定义数据库,其执行效果如下所示。

+ ----------------------- +
    | Database         |
    + ----------------------- +
    | information_schema |
    | mysql            |
    | new_schema       |
    | performance_schema |
    | sakila             |
    | test              |
    | world            |
    + ----------------------- +
    7 rows

上述执行效果的最后一行,说明当前服务器中一共有7行数据库数据,即有7个数据库。

试一试

若要查看当前的数据库,可使用SELECT DATABASE()语句。系统将根据当前的操作确定当前使用的数据库。

2.查看数据库详细信息

同样是SHOW DATABASES语句,添加CREATE关键字和数据库名称即可查询指定数据库的详细信息,语法如下:

SHOW CREATE DATABASE 数据库名称;

如查询sakila数据库的详细信息,代码如下。

SHOW CREATE DATABASE sakila;

上述代码的执行效果如下所示。

+ --------------- + ---------------------------------------------- +
    | Database      | Create Database                                          |
    + ----------------- + -------------------------------------------- +
    | sakila         | CREATE DATABASE `sakila` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    + ------------------ + ------------------------------------------- +
    1 rows

3.3.2 修改数据库

数据库的修改包括修改数据库的名称和字符集。InnoDB存储引擎的数据库是无法修改数据库名称的,而MyISAM存储引擎的数据库只要修改DATA目录下的库名文件夹就可以改变数据库名称。各种存储引擎的数据库都可以修改其字符集的校对规则,有两种方式:MySQL Workbench工具和通过SQL语句。

1.使用MySQL Workbench工具修改数据库

使用MySQL Workbench工具修改数据库信息,步骤如下。

(1)在需要修改的数据库名称处右击,选择Alter Schema选项,可进入数据库修改界面。数据库修改界面与数据库添加的界面一样,只是当存储引擎是InnoDB时,数据库名称是不可编辑状态。

(2)为数据库选择新的校对规则类型,单击Apply按钮后,系统弹出对话框显示数据库的修改信息;单击Apply按钮执行数据库修改;在弹出的对话框中单击Finish按钮完成数据库的修改。

2.使用SQL语句修改数据库

使用ALTER SCHEMA语句可以修改数据库信息,修改后的数据使用SET关键字设置,语法如下:

ALTER SCHEMA '数据库名称'  DEFAULT CHARACTER SET 修改后的校对规则 ;

上述代码中,如果数据库所需要修改的校对规则是一个系列的非默认规则,那么将使用下面的语句进行修改。

ALTER SCHEMA '数据库名称'  DEFAULT CHARACTER SET 校对规则系列 DEFAULT COLLATE
    校对规则 ;

上述两句代码中,数据库名称两端不是单引号,而是反单引号,通常用来引用数据库名称、表的名称和字段名称。该符号在使用时可以去掉,不影响执行效果。

如将数据库new_schema修改为utf16 default collatio校对规则,代码如下。

ALTER SCHEMA 'new_schema' DEFAULT CHARACTER SET utf16 ;

而将new_schema数据库修改为utf16_bin校对规则,代码如下。

ALTER SCHEMA 'new_schema'  DEFAULT CHARACTER SET utf16 DEFAULT COLLATE utf16_bin;

3.3.3 删除数据库

删除数据库是指删除数据库系统中已经存在的数据库,删除数据库成功后,原来分配的空间将被收回。数据库的删除可以在MySQL Workbench中进行,也可以使用SQL语句进行。

1.使用MySQL Workbench工具删除数据库

数据库的删除与创建在MySQL Workbench工具下的操作略有不同。从图3-4可以看出,右击数据库名称,弹出菜单中有Drop Schema选项。选择该选项即可进入如图3-7所示的对话框,可选择查看SQL语句或选择直接删除。

图3-7 删除选项

若选择Drop Now则直接删除该数据库,没有任何的提示。若选择Review SQL则显示删除语句,如图3-8所示,单击Execute按钮即可执行数据库的删除,没有任何的提示。

图3-8 查看SQL删除语句

2.使用SQL语句删除数据库

DROP DATABASE语句可以删除指定的数据库,在该语句后添加数据库名称的参数。语法如下:

DROP DATABASE 数据库名称;

如图3-8所示,界面中的SQL语句是删除new_schema数据库的语句。

注意

开发者在删除数据库时会删除该数据库中所有的表和所有数据,因此,删除数据库时需要慎重考虑。如果确定要删除某一个数据库,可以先将该数据库备份,然后再进行删除。