2013-08-05 52 views
14

我想所有CREATE在1個查詢結果MySQL表的語句的陳述。查詢來獲取所有創建MySQL表

例如,INFORMATION_SCHEMA包含所有表名,評論等,但哪裏有CREATE語句存儲在MySQL的?它可以在一個查詢中檢索所有表嗎?

目前我檢索 DDL如下1個表。我有臺100的,所以我可以重複同樣的,每次它是時間服用過程

show create table row_format; 
+2

的'CREATE'語句不存儲。 'show create table'通過'information_schema'中的數據重新創建它們。 – Barmar

+0

@Barmar:你可以請怎麼做手工比使用show命令檢索呢?我將遵循同樣的邏輯,以提取所有在1個查詢 – logan

+0

創建語句,我不知道的比做大量的'秀創建table'陳述以外的任何方式。你爲什麼需要這樣做?爲什麼你不能從'information_schema'獲得你需要的特定信息? – Barmar

回答

19
mysqldump -h localhost -u root -p --no-data --compact some_db 


mysqldump -d --compact --compatible=mysql323 ${dbname}|egrep -v "(^SET|^/\*\!)" 

How do I use mysqldump to export only the CREATE TABLE commands

+0

我無法執行上述查詢?我如何在mysql Workbench中執行它? – logan

+1

通過命令提示符 –

+0

它說, C:\ Users \ Toshiba> mysqldump -d --compact --compatible = mysql323 $ {dbname} | egrep -v 「(^ SET | ^/\ * \!)」 'egrep'不被識別爲內部或外部命令, 可操作的程序或批處理文件。 – logan