3.4.獲得數據庫和表的信息
3.4. 獲得數據庫和表的信息
如果你忘記數據庫或表的名字,或給定的表的結構是什么(例如,它的列叫什么),怎么辦?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 | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
Field顯示列名字,Type是列的數據類型,Null表示列是否能包含NULL值,Key顯示列是否被索引而Default指定列的默認值。
如果表有索引,SHOW INDEX FROM tbl_name生成有關索引的信息。