it-swarm.com.de

So generieren Sie DDL für alle Tabellen in einer Datenbank in MySQL

So generieren Sie die DDL für alle Tabellen in einer MySQL-Datenbank gleichzeitig. Ich weiß, dass die folgende Abfrage die DDL für eine Tabelle ausgibt. Aber ich möchte die DDL aller Tabellen auf einmal, weil ich Hunderte von Tabellen in meiner Datenbank habe.

show create table <database name>.<table name>;

Beispielsweise:

show create table projectdb.customer_details; 

Die obige Abfrage führt zu einer DDL von customer_details Tabelle.

Ich verwende MySQL mit MySQL Workbench unter Windows.

42
Sumit Gupta

Sie können dies mit dem Befehlszeilenprogramm mysqldump tun:

mysqldump -d -u <username> -p<password> -h <hostname> <dbname>

Das -d Option bedeutet "ohne Daten".

73
AJ.

@tftdias oben hat einen teilweise korrekten Kommentar abgegeben:

Das Problem war das Leerzeichen zwischen -p und 'pps' als Passwort. Sie können Ihr Passwort in der Befehlszeile absolut frei eingeben. Sie sollten dies als allgemeine Sicherheitsregel einfach nicht tun. Unter Linux können Sie bei richtiger Konfiguration VOR dem ersten Zeichen in Ihrer Befehlszeile ein Leerzeichen ("") einfügen. Diese Zeile wird dann nicht in den Verlauf übernommen. Ich würde empfehlen, dass Sie bei jedem Klartext Ihres Passworts (tun Sie es nicht!) Mindestens ein Leerzeichen voranstellen, damit das Passwort nicht im sichtbaren Verlauf angezeigt wird.

0
John Toups