如果你忘記數(shù)據(jù)庫或表的名字戈锻,或給定的表的結(jié)構(gòu)是什么(例如锡移,它的列叫什么)阁吝,怎么辦倘潜?MySQL通過提供數(shù)據(jù)庫及其支持的表的信息的幾個(gè)語句解決這個(gè)問題绷柒。
你已經(jīng)見到了SHOW DATABASES,它列出由服務(wù)器管理的數(shù)據(jù)庫涮因。為了找出當(dāng)前選擇了哪個(gè)數(shù)據(jù)庫废睦,使用DATABASE( )函數(shù):
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie |
+------------+
如果你還沒選擇任何數(shù)據(jù)庫,結(jié)果是NULL养泡。
為了找出當(dāng)前的數(shù)據(jù)庫包含什么表(例如嗜湃,當(dāng)你不能確定一個(gè)表的名字),使用這個(gè)命令:
mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| event |
| pet |
+---------------------+
如果你想要知道一個(gè)表的結(jié)構(gòu)澜掩,可以使用DESCRIBE/DESC命令购披;它顯示表中每個(gè)列的信息:
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是列的數(shù)據(jù)類型输硝,Null表示列是否能包含NULL值今瀑,Key顯示列是否被索引而Default指定列的默認(rèn)值程梦。
如果表有索引点把,SHOW INDEX FROM tbl_name生成有關(guān)索引的信息。