如果你忘記資料庫或表格的名字,或給定的表的結構是什麼(例如,它的列叫什麼),怎麼辦? MySQL透過提供資料庫及其支援的表格的資訊的幾個語句來解決這個問題。
你已經見到了SHOW DATABASES,它列出由伺服器管理的資料庫。為了找出目前選擇了哪個資料庫,使用DATABASE( )函數:
mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | menagerie | +------------+
如果你還沒選擇任何資料庫,結果是NULL。
為了找出當前的資料庫包含什麼表(例如,當你不能確定一個表的名字),使用這個命令:
mysql> SHOW TABLES; +---------------------+ | Tables in menagerie | +---------------------+ | event | | pet | +---------------------+
如果你想要知道一個表的結構,可以使用DESCRIBE命令;它顯示表中每個欄位的資訊:
mysql> DESCRIBE pet;
+---------+-------------+------+-- ---+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-- -----------+------+-----+---------+-------+
| name | varchar(20 ) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | NULL | |
+---------+----------- --+------+-----+---------+-------+
Field顯示列名字,Type是列的資料類型,Null表示列是否能包含NULL值,Key顯示列是否被索引而Default指定列的預設值。
如果表有索引,SHOW INDEX FROM tbl_name產生有關索引的資訊。