mysql> SHOW CREATE TABLE category;
輸出包含完整 CREATE TABLE 陳述式,含欄位定義、索引、引擎、字符集等元數據。
$sql = "SHOW CREATE TABLE category";
$res = mysql_query($sql) or die(mysql_error());
while ($obj = mysql_fetch_object($res)) {
print_r($obj);
echo "
";
}
輸出範例:
stdClass Object
(
[Table] => category
[Create Table] => CREATE TABLE `category` (
`CategoryID` int(10) unsigned NOT NULL default '0',
`CategoryName` varchar(80) NOT NULL default '',
`ParentID` int(10) unsigned NOT NULL default '0',
`KeyWords` varchar(255) NOT NULL default '',
`ProductCount` mediumint(6) unsigned NOT NULL default '0',
`TradeLeadCount` mediumint(6) NOT NULL default '0',
`CompanyCount` mediumint(6) NOT NULL default '0',
`B2soutletcount` mediumint(6) unsigned NOT NULL default '0',
`CategoryType` tinyint(1) NOT NULL default '0',
`Section` tinyint(1) unsigned NOT NULL default '0',
`IsLeaf` tinyint(1) NOT NULL default '1',
`Link` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`CategoryID`),
KEY `GroupName` (`CategoryName`),
KEY `ParentID` (`ParentID`),
KEY `CategoryType` (`CategoryType`),
KEY `Section` (`Section`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
)
mysql> tee outmsg.log
# 後續所有命令列輸出將同步寫入 outmsg.log
SHOW 提供豐富的中繼資料查詢,常用者包括:
| 指令 | 用途 |
|---|---|
SHOW CREATE TABLE tbl_name | 顯示建表 SQL |
SHOW COLUMNS FROM tbl_name | 欄位詳細定義 |
SHOW INDEX FROM tbl_name | 索引資訊 |
SHOW TABLE STATUS | 表統計資訊(行數、大小、引擎等) |
SHOW DATABASES | 列出所有資料庫 |
SHOW ENGINES | 支援的儲存引擎 |
SHOW VARIABLES | 系統變數(含字符集、緩衝區大小等) |
SHOW PROCESSLIST | 當前執行緒/查詢狀態 |
多數 SHOW 支援 LIKE 'pattern' 過濾,部分支援 WHERE 子句,靈活性極高。