如果您忘記了資料庫或表格的名稱,或者給定表格的結構 (例如,它的欄位名稱是什麼),該怎麼辦? MySQL 通過幾個提供關於它支援的資料庫和表格資訊的陳述式來解決這個問題。
您先前已看過 SHOW DATABASES,它會列出伺服器管理的資料庫。要找出目前選取的資料庫,請使用 DATABASE() 函數
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie |
+------------+如果您尚未選取任何資料庫,則結果為 NULL。
要找出預設資料庫包含哪些表格 (例如,當您不確定表格名稱時),請使用此陳述式
mysql> SHOW TABLES;
+---------------------+
| Tables_in_menagerie |
+---------------------+
| event |
| pet |
+---------------------+此陳述式產生的輸出中欄位的名稱始終為 Tables_in_,其中 db_namedb_name 是資料庫的名稱。有關更多資訊,請參閱 第 15.7.7.38 節, “SHOW TABLES 陳述式”。
如果您想了解表格的結構,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 | |
+---------+-------------+------+-----+---------+-------+
欄位 表示欄位名稱,類型 是欄位的資料類型,NULL 表示欄位是否可以包含 NULL 值,鍵 表示欄位是否已索引,並且 預設值 指定欄位的預設值。額外 顯示關於欄位的特殊資訊:如果欄位是使用 AUTO_INCREMENT 選項建立的,則值為 auto_increment,而不是空白。
DESC 是 DESCRIBE 的簡短形式。有關更多資訊,請參閱 第 15.8.1 節,「DESCRIBE 陳述式」。
您可以使用 SHOW CREATE TABLE 陳述式,取得建立現有表格所需的 CREATE TABLE 陳述式。請參閱第 15.7.7.11 節,“SHOW CREATE TABLE 陳述式”。
如果表格上有索引,SHOW INDEX FROM 會產生關於它們的資訊。有關此陳述式的更多資訊,請參閱 第 15.7.7.23 節,“SHOW INDEX 陳述式”。tbl_name