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