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的内容超出了本书的范围。如果需要,你要知道确实可以这样做。