获取有关MySQL数据库和表的信息

用户可能会忘记数据库或表的名称或表的结构或列的名称。使用MySQL可以解决此问题,因为它支持许多语句,这些语句提供有关它所支持的数据库和表的信息。

“ SHOW DATABASES”查询可用于列出服务器管理的所有数据库。要查看当前正在使用哪个数据库,请使用' DATABASE()'函数。

让我们在以下部分中了解此查询-

询问

mysql> SELECT DATABASE();
输出结果
+---------------------+
| DATABASE()          |
+---------------------+
| databaseInUse       |
+---------------------+

如果未选择任何数据库,则结果为“ NULL”。

要查看默认数据库包含哪些表,可以使用以下查询-

询问

mysql> SHOW TABLES;
输出结果
+-----------------------------------+
| Tables_in_databaseInUse           |
+-----------------------------------+
| val1                              |
| val1                              |
+-----------------------------------+

由上面的查询产生的输出中的列名称是'Tables_in_databaseInUse',其中databaseInUse是正在使用/选择的数据库的名称。

如果用户想了解有关表结构的更多信息,则可以使用“ DESCRIBE”语句。它将显示有关每个表的列的信息-

询问

mysql> DESCRIBE pet;
输出结果
+---------+-------------+-------+------+-----------+--------+
| Field   | Type        | Null  | Key  | Default   | Extra  |
+---------+-------------+-------+------+-----------+--------+
| name    | varchar(20) | YES   |      | NULL      |        |
| owner   | varchar(20) | YES   |      | NULL      |        |
+---------+-------------+-------+------+-----------+--------+

该字段指示列名,“类型”是指该列的数据类型,“ NULL”是指该列是否可以包含NULL值,“键”是指该列是否被索引,而“默认”指定列的默认值。“其他”显示有关列的特殊信息。如果使用“ AUTO_INCREMENT”选项创建了列,则该值为“ auto_increment”,不为空。