乐趣区

关于mysql:MySQL-入门教程第-03-篇-管理数据库

MySQL 中的数据库(Database)就像是一个容器,其中蕴含了各种对象。例如,数据表(Table)、视图(View)、存储过程(Stored Procedure)以及触发器(Trigger)等。其中,表是存储数据的次要对象。它们之间的关系如下图所示:

本篇次要介绍数据库的创立、查看、抉择和删除操作,包含应用 mysql 命令行和 MySQL Workbench 图形工具两种形式。

3.1 通过 mysql 命令行治理数据库

存储数据须要先创立表,而创立表之前须要创立数据库。咱们先应用 mysql 命令行客户端登录数据库,点击开始菜单 ->“MySQL”->“MySQL 8.0 Command Line Client”,输出 root 用户明码:

3.1.1 创立数据库

MySQL 中应用 CREATE DATABASE 语句创立一个新的数据库:

CREATE DATABASE [IF NOT EXISTS] dbname;

其中,dbname 指定了新数据库的名称;IF NOT EXISTS是一个可选项,如果创立的数据库曾经存在,应用该选项能够防止提醒错误信息;数据库名称必须惟一。

举例来说,以下语句用于创立一个名为 hrdb 的数据库:

mysql> CREATE DATABASE hrdb;
Query OK, 1 row affected (0.27 sec)

那么,如何查看咱们创立的数据库呢?MySQL 提供了 SHOW DATABASES 命令(不辨别大小写)能够列出零碎中的所有数据库:

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| hrdb               |
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
7 rows in set (0.03 sec)

其中,information_schema、mysql、performance_schema 以及 sys 是 MySQL 的零碎数据库。sakila 和 world 是咱们装置的示例数据库。hrdb 是刚刚新建的数据库。显然,一个 MySQL 实例服务能够治理多个数据库。

MySQL 中的数据库和模式(Schema)是雷同的概念,因而也能够应用 SHOW SCHEMAS 命令查看数据库列表。

3.1.2 字符集和排序规定

创立数据库时,还能够指定一些选项,例如字符集(Character Set)和排序规定(Collation)。

不同的字符集反对的字符品种和数量不同,例如 ASCII 字符集只能存储字母、数字和常见的符号,GB2312 和 GB18030 能够反对中文,Unicode 字符集可能反对多国语言。排序规定定义了字符的排序程序,例如是否辨别大小写、是否辨别重音、中文依照拼音还是偏旁进行排序等。

因而,更残缺的 CREATE DATABASE 语句如下:

CREATE DATABASE [IF NOT EXISTS] dbname
[CHARACTER SET charset_name]
[COLLATE collation_name];

CHARACTER SET选项用于指定字符集,如果不指定,默认为 utf8mb4;COLLATE 选项用于指定排序规定,utf8mb4 字符集的默认排序规定为 utf8mb4_0900_ai_ci,示意不辨别重音和大小写。

咱们应用 GBK 字符集创立一个数据库 testdb:

mysql> create database testdb
    -> character set gbk;
Query OK, 1 row affected (0.14 sec)

而后应用以下命令查看创立 testdb 数据库的语句:

mysql> show create database testdb;
+----------+---------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                   |
+----------+---------------------------------------------------------------------------------------------------+
| testdb   | CREATE DATABASE `testdb` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+---------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

应用 SHOW CHARACTER SET 命令能够查看零碎反对的所有字符集,应用 SHOW COLLATION 命令能够查看字符集反对的排序规定。

3.1.3 抉择数据库

在拜访表或者其余对象之前,咱们必须通知 MySQL 应用哪个数据库,不同数据库中能够存在同名的对象。MySQL 应用 USE 命令指定一个工作数据库:

USE dbname;

咱们将 hrdb 设置为工作数据库:

mysql> USE hrdb;
Database changed

在此之后,咱们执行的各种创立表、查问数据等操作都将在该数据库中进行;除非再次执行 USE 命令更改工作数据库。

3.1.4 删除数据库

删除数据库意味着同时删除数据库中的其余所有对象,并且不可复原;因而执行之前须要非常小心!

MySQL 应用 DROP DATABASE 语句删除一个数据库:

DROP DATABASE [IF EXISTS] dbname;

其中,dbname 指定了要删除的数据库。IF EXISTS是一个可选项,如果被删除的数据库不存在,应用该选项能够防止提醒错误信息。

咱们将 hrdb 和 testdb 数据库删除:

mysql> drop database hrdb;
Query OK, 0 rows affected (0.17 sec)

mysql> drop database testdb;
Query OK, 0 row affected (0.23 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.00 sec)

再次查看数据库列表,显示 hrdb 和 testdb 不存在。

MySQL 中的数据库和模式(Schema)是雷同的概念,因而也能够应用 DROP SCHEMA 命令删除数据库。

3.2 应用 Workbench 治理数据库

MySQL Workbench 提供了图形化的操作形式,应用更加简略。

3.2.1 创立数据库

应用 MySQL Workbench 连贯数据库之后,左侧默认列出了所有的数据库。点击工具栏上面的“create a new schema in the connected server”图标:

显示以下窗口:

输出数据库的名称,设置可选的字符集和排序规定。点击“Apply”按钮:

界面显示创立数据库的命令,不便学习 SQL 语句。再次点击“Apply”按钮实现数据库的创立。此时,界面左侧显示了新建的数据库:

3.2.2 抉择数据库

抉择左侧数据库列表中的 hrdb,点击右键并抉择“Set as Default Schema”,将其设置为工作数据库。

此时,hrdb 被设置高亮,意味着它是以后的工作数据库。

3.2.2 删除数据库

抉择左侧数据库列表中的 hrdb,点击右键并抉择“Drop Schema”:

此时显示确认页面:

能够点击“Review SQL”查看相应的删除语句,也能够点击“Drop Now”间接删除数据库。删除之后的数据库不再显示在左侧的列表中。

有了数据库之后,接下来就是创立数据表了。

退出移动版