2013-08-05 11 views
14

Chcę, aby wszystkie instrukcje MySql Tables w 1 wynikach zapytania były wyświetlane.Zapytanie, aby uzyskać wszystkie instrukcje CREATE tabel MySql

Na przykład INFORMATION_SCHEMA zawiera wszystkie nazwy stołowy, komentuje itp, ale gdzie są TWORZENIE oświadczenia są przechowywane w MySQL? czy można go pobrać w jednym zapytaniu dla wszystkich tabel?

Obecnie pobieram TABL. ddl jak poniżej dla 1 tabeli. Mam 100 z stolików, więc mogę powtórzyć to samo za każdym razem biorąc, który jest procesem

show create table row_format; 
+2

W 'oświadczenia CREATE' nie są nigdzie zapisywane. 'show create table' odtwarza je z danych w' information_schema'. – Barmar

+0

@Barmar: czy mógłbyś zrobić to ręcznie, zamiast pobierać za pomocą polecenia show? Będę podążał tą samą logiką, aby wyodrębnić całą instrukcję tworzenia w 1 zapytaniu – logan

+0

Nie znam innego sposobu niż wykonywanie wielu instrukcji 'show create table'. Dlaczego musisz to zrobić? Dlaczego nie możesz uzyskać konkretnych informacji, których potrzebujesz od 'information_schema'? – Barmar

Odpowiedz

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

Nie mogę wykonać powyższego zapytania jako zapytania? Jak wykonać go w mysql Workbench? – logan

+1

za pomocą wiersza polecenia –

+0

mówi: C: \ Users \ Toshiba> mysqldump -d --compact --compatible = mysql323 $ {dbname} | egrep -v "(^ SET | ^/\ * \!)" "egrep" nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program roboczy lub plik wsadowy. – logan

Powiązane problemy