• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 获取有关数据库和表的信息(show)

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

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

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

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

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

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

    该语句产生的输出中的列名称始终为,其中数据库名称为。有关更多信息,请参见“ 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指定该列的默认值。Extr 显示有关列的特殊信息:如果使用该AUTO_INCREMENT选项创建了列,则该值将为 uto_increment空。

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

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

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