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

 

如果您忘记了数据库或表的名称,或者给定表的结构是什么(例如,它的列称为什么),该怎么办?MySQL通过一些语句来解决此问题,这些语句提供有关它支持的数据库和表的信息。

您先前已经看过SHOW DATABASES,其中列出了服务器管理的数据库。要找出当前选择的数据库,请使用以下 DATABASE()功能:

mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie  |
+------------+

如果尚未选择任何数据库,则结果为 NULL

要找出默认数据库包含哪些表(例如,当您不确定表的名称时),请使用以下语句:

mysql> SHOW TABLES;
+---------------------+
| Tables_in_menagerie |
+---------------------+
| event               |
| pet                 |
+---------------------+

该语句产生的输出中的列名称始终为 ,其中数据库名称为。有关更多信息请参见第13.7.7.39节“ SHOW TABLES语句”。 Tables_in_db_namedb_name

如果您想了解表的结构,该 DESCRIBE语句很有用。它显示有关表的每个列的信息:

mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  |     | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

Field指示列名,Type该列 的数据类型, NULL指示该列是否可以包含 NULL值,Key指示该列是否已建立索引,并Default 指定该列的默认值。Extra 显示有关列的特殊信息:如果使用该AUTO_INCREMENT选项创建了列,则该值将为auto_increment空。

DESC是的简写形式 DESCRIBE有关更多信息请参见 第13.8.1节“ DESCRIBE语句”

您可以CREATE TABLE 使用该SHOW CREATE TABLE语句获取创建现有表所必需的 语句。请参见 第13.7.7.10节“ SHOW CREATE TABLE语句”

如果表上有索引,则产生有关它们的信息。有关此语句的更多信息请参见第13.7.7.22节“ SHOW INDEX语句”。 SHOW INDEX FROM tbl_name

posted @ 2020-09-25 16:20  owling  阅读(209)  评论(0编辑  收藏  举报