2013-08-05 6 views
14

Voglio tutte le dichiarazioni CREATE di MySql in 1 risultato della query.Query per ottenere tutte le istruzioni CREATE delle tabelle MySql

Per esempio, INFORMATION_SCHEMA contiene tutti i nomi di tabella , commenta ecc ma dove sono le CREATE dichiarazioni sono memorizzati in MySQL? può essere recuperato in una query per tutte le tabelle?

Attualmente sto recuperando TABELLA ddl come di seguito per 1 tavolo. Ho 100 di tavoli modo che io possa ripetere la stessa ogni volta che è tempo prendendo processo

show create table row_format; 
+2

Le dichiarazioni 'create' non vengono memorizzati da nessuna parte. 'show create table' li ricrea dai dati in' information_schema'. – Barmar

+0

@Barmar: potresti per favore come farlo manualmente piuttosto che recuperarlo usando il comando show? Seguirò la stessa logica per estrarre tutte le istruzioni create in 1 query – logan

+0

Non conosco altro che fare un sacco di istruzioni 'show create table'. Perché hai bisogno di fare questo? Perché non riesci a ottenere le informazioni specifiche di cui hai bisogno da 'information_schema'? – Barmar

risposta

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

Non riesco a eseguire quanto sopra come query? Come lo eseguo in MySQL Workbench? – logan

+1

tramite il prompt di comando –

+0

dice, C: \ Users \ Toshiba> mysqldump -d --compatto --compatibile = mysql323 $ {dbname} | egrep -v "(^ SET | ^/\ * \!)" 'egrep' non è riconosciuto come comando interno o esterno, programma operativo o file batch. – logan