• 获取数据庫和表信息

    获取数据庫和表信息

    如果你忘记了数据庫或表的名字,或者表的结构(例如,表的列名叫什么),MySQL通过一些语句,提供了关于数据庫和表的信息,解决了这些问题。

    你前面看到过SHOW DATABASES,这会列出数据庫。要找到当前正选择的数据庫,使用DATABASE()方法:

    1. mysql> SELECT DATABASE();
    2. +------------+
    3. | DATABASE() |
    4. +------------+
    5. | menagerie |
    6. +------------+

    如果你还没有选择任何数据庫,结果是NULL。

    要找到默认数据庫包含的表(例如,当你对一个表的名字不太确定时),使用这个语句:

    1. mysql> SHOW TABLES;
    2. +---------------------+
    3. | Tables_in_menagerie |
    4. +---------------------+
    5. | event |
    6. | pet |
    7. +---------------------+

    在输出中,列的名字为Tables_in_db_name,其中db_name部分为当前数据庫名字,更多信息请看14.7.5.37, “SHOW TABLES Syntax”部分。

    如果你想看一个表的结构,DESCRIBE语句是有用的;它显示一个表的每一个列的信息:

    1. mysql> DESCRIBE pet;
    2. +---------+-------------+------+-----+---------+-------+
    3. | Field | Type | Null | Key | Default | Extra |
    4. +---------+-------------+------+-----+---------+-------+
    5. | name | varchar(20) | YES | | NULL | |
    6. | owner | varchar(20) | YES | | NULL | |
    7. | species | varchar(20) | YES | | NULL | |
    8. | sex | char(1) | YES | | NULL | |
    9. | birth | date | YES | | NULL | |
    10. | death | date | YES | | NULL | |
    11. +---------+-------------+------+-----+---------+-------+

    Field表示列名,Type表示对应列的数据类型,NULL代表此列是否能包含NULL值,Key代表此列是否为索引,Default指定列的默认值。Extra显示关于列的指定信息。如果一个列是被创建为AUTO_INCREMENT,则这个值将为auto_increment,而不是空的。

    原文: https://strongyoung.gitbooks.io/mysql-reference-manual/content/tutorial/getting_informations_about_databases_and_tables.html