MariaDB必知必会
上QQ阅读APP看书,第一时间看更新

3.3 了解数据库和表

然而,如果你不知道可用的数据库名字该怎么办?在这种情况下,像MySQL Workbench之类的工具如何显示可访问的数据库列表呢?

关于数据库、表、列、用户、权限等信息都存储在数据库和表中(是的,即MariaDB使用MariaDB来存储信息)。然而,这些内部表通常不能够直接访问,而是使用MariaDB的SHOW命令来显示这些信息(即MariaDB从内部表中提取的信息)。看看下面的例子:

▼ 输入

▼ 输出

▼ 分析

“SHOW DATABASES;”返回可访问数据库的列表。在这个列表中可能包含MariaDB内部的数据库(本例中如mysql和information_schema)。当然,你自己的数据库列表可能与这里显示的不同。

为了获取数据库表的列表,使用“SHOW TABLES;”如下所示:

▼ 输入

▼ 输出

▼ 分析

“SHOW TABLES;”返回当前选择的数据库中可用表的列表信息。

为了显示表的列,可以使用DESCRIBE:

▼ 输入

▼ 输出

▼ 分析

DESCRIBE需要指定表名(本例中是customers),之后对每个字段返回一行,包含字段名、数据类型、是否可为NULL、键值信息、默认值和额外信息(例如cust_id字段的自增长auto_increment)。

注意

什么是自增长? 有些表的列需要唯一值,如订单号、员工ID或者客户ID(如刚才看到的例子中的)。不用在每次添加一行时手动分配唯一值(并且必须追踪哪些值已经用过),MariaDB能够自动分配下一个可用值。这个功能就是所谓的自增长。在使用CREATE语句创建表时,如果需要,它必须是表定义的一部分。我们会在第21章看到CREATE语句。

提示

SHOW COLOMNS FROM语句 DESCRIBE实际是SHOW COLUMNS FROM的缩写。换句话说,“DESCRIBE customers”语句与“SHOW COLUMNS FROM customers”具有同样的功能。

同样支持的其他SHOW语句包括:

·SHOW STATUS——用来显示广泛的服务器状态信息。

·SHOW CREATE DATABASE和SHOW CREATE TABLE——分别用来显示创建指定数据库或者表的MariaDB语句。

·SHOW GRANTS——用来显示授予用户(所有用户或指定用户)的安全权限。

·SHOW ERRORS和SHOW WARNINGS——用来显示服务器错误或者警告消息。

值得注意的是,客户端应用也使用你所见到的这些MariaDB SQL命令。使用这样的MariaDB SQL命令,可以直接执行命令,如显示数据库和表的交互列表,交互地进行表的创建、编辑,方便地读取和编辑数据,或进行用户账户和权限的管理。

提示

进一步了解SHOW语句 在mysql命令行实用程序中,执行命令“HELP SHOW;”展示可以使用的SHOW语句列表。

注意

更多信息 MariaDB支持使用INFORMATION_SCHEMA来获取和过滤更多的框架信息。讲述INFORMATION_SCHEMA的内容超出了本书的范围。如果需要,你要知道确实可以这样做。