Wie erhalte ich ein Skript zur Tabellenerstellung in MySQL Workbench?


73

Ich kehre zum MySQL Query Browser der MySQL GUI Tools zurück, da ich die Verknüpfung zum Abrufen des Erstellungsskripts einer Tabelle in MySQL Workbench nicht finden kann.

Antworten:


129

Ich kann eine solche Option auch nicht finden, zumindest in der Community-Ausgabe.

Ich nehme an, dies entspricht der Reverse Engineering- Funktion, die leider nur in der kommerziellen Ausgabe verfügbar ist (Zitat) :

Das Reverse Engineering einer Datenbank direkt von einem MySQL-Server gilt nur für kommerzielle Versionen von MySQL Workbench .


Sie können jedoch Plain-SQL verwenden, um die create tableAnweisung abzurufen, mit der Sie eine Tabelle erstellen können.

Zum Beispiel die folgende Abfrage:

show create table url_alias;

Wenn es in einer Drupal-Datenbank ausgeführt wird, würde es geben, wenn es direkt click > copy field contentauf das Ergebnis angewendet wird :

'CREATE TABLE `url_alias` (
  `pid` int(10) unsigned NOT NULL auto_increment,
  `src` varchar(128) NOT NULL default '''',
  `dst` varchar(128) NOT NULL default '''',
  `language` varchar(12) NOT NULL default '''',
  PRIMARY KEY  (`pid`),
  UNIQUE KEY `dst_language` (`dst`,`language`),
  KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8'

Leider (wieder) fügt MySQL Workbench beim Kopieren auf diese Weise überall einige Anführungszeichen hinzu :-(


BEARBEITEN: Mit MySQL 8.0 können Sie click > copy field (unquoted)das Ergebnis direkt bearbeiten, um das gewünschte Ergebnis ohne Anführungszeichen zu erhalten.


Am Ende besteht die einfachste Lösung, außer bei MySQL Query Browser zu bleiben, höchstwahrscheinlich darin, über den Befehlszeilenclient eine Verbindung zur Datenbank herzustellen und die show create tableAbfrage von dort aus auszuführen :

mysql> show create table url_alias\G
*************************** 1. row ***************************
       Table: url_alias
Create Table: CREATE TABLE `url_alias` (
  `pid` int(10) unsigned NOT NULL auto_increment,
  `src` varchar(128) NOT NULL default '',
  `dst` varchar(128) NOT NULL default '',
  `language` varchar(12) NOT NULL default '',
  PRIMARY KEY  (`pid`),
  UNIQUE KEY `dst_language` (`dst`,`language`),
  KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

Dort ist es einfacher, " den richtigen Teil " der Ausgabe zu erhalten: kein Zitat zum Entfernen.



Und der Vollständigkeit halber können Sie auch mysqldumpdie Struktur Ihres Tisches ermitteln:

mysqldump --no-data --user=USERNAME --password=PASSWORD --host=HOST DATABASE_NAME TABLE_NAME

Mit dem --no-dataSchalter erhalten Sie nur die Struktur - mitten in einigen Moduseinstellungen und so weiter .


2
Ich scheine in der Lage zu sein, Reverse Engineering mit der GA-Version v5.2.25 zu verwenden. STRG + R
Cez

1
Meine 5.2.17-Version von MySQL Workbench kann das nicht zitierte Copypasting ausführen, nachdem die Abfrage 'show create table xxxx' ausgeführt wurde.
Littlegreen

4
Das ist alt. Klicken Sie mit der rechten Maustaste auf eine Tabelle und wählen Sie "In Zwischenablage kopieren" => "Anweisung erstellen". Alternativ können Sie "Server" => "Datenexport" verwenden, um ein oder mehrere Schemas mit oder ohne Daten zu exportieren. "Reverse Engineering" ist auch in der Community-Edition von Workbench verfügbar.
Philip Olson

3
Klicken Sie für nicht zitiertes Copypasting mit der rechten Maustaste auf Ergebnismenge und Kopierfeld (nicht zitiert).
Harish Kurup

Es gibt jetzt eine einfachere Möglichkeit, dies zu tun. Klicken Sie mit der rechten Maustaste auf Ihre Tabelle und klicken Sie auf "SQL in Zwischenablage kopieren". (Verfügbar in der Community Edition)
Viliami

47

Um das Erstellungsskript einer einzelnen Tabelle zu erhalten, klicken Sie mit der rechten Maustaste auf den Tabellennamen und klicken Sie auf In Zwischenablage kopieren> Anweisung erstellen.

So aktivieren Sie die Option Datei> Forward Engineering SQL_CREATE-Skript .. und rufen das Erstellungsskript für Ihre gesamte Datenbank ab:

  1. Datenbank> Reverse Engineer (Strg + R)
  2. Führen Sie die Schritte aus, um das EER-Diagramm zu erstellen
  3. Klicken Sie beim Anzeigen des EER-Diagramms auf Datei> Forward Engineering SQL_CREATE-Skript ... (Strg + Umschalt + G)

3
Dies hat bei mir funktioniert, aber in der von mir verwendeten Version (6.0-Community) klicken Sie auf Datenbank-> Forward Engineer (nicht auf Datei-> Forward Engineering).
Chris

1
Ich habe einige Zeit mit der Option mysqldump verbracht, um das Schema einer Remote-Datenbank zu sichern. Dies hat mir am Ende geholfen.
Kumar

25

Klicken Sie mit der rechten Maustaste auf die entsprechende Tabelle und wählen Sie eine der folgenden Optionen:

  • In Zwischenablage kopieren> Anweisung erstellen
  • An SQL Editor senden> Anweisung erstellen

Das scheint bei mir zu funktionieren.


6

Es befindet sich eher in der Serververwaltung als in der SQL-Entwicklung.

  • Wählen Sie auf dem Startbildschirm im Abschnitt Serververwaltung ganz rechts die Datenbankserverinstanz aus, auf der sich Ihre Datenbank befindet.
  • Wählen Sie im Menü rechts die Option Datenexport .
  • Wählen Sie die Datenbank aus, die Sie exportieren möchten, und wählen Sie einen Speicherort aus.
  • Klicken Sie auf Export starten.

1
Dies funktionierte viel einfacher als die anderen Optionen für mich (obwohl meine Option für den Datenexport auf der linken Seite war)
Dan


4

Ich kam hierher und suchte nach der Antwort auf dieselbe Frage. Aber ich habe selbst eine viel bessere Antwort gefunden.

In the tables list, if you right-click on the table name there is a suite of CRUD script generation options in "Send to SQL Editor". You can select multiple tables and take the same approach too.

Meine Version von MySQL Workbench: 5.2.37


3

Ich bin mir nicht sicher, ob ich Ihr Problem vollständig verstanden habe, aber wenn es nur um das Erstellen von Exportskripten geht, sollten Sie den Ingenieur an das SQL-Skript weiterleiten - Strg + Umschalt + G oder Datei -> Exportieren -> erste Option.


2
Diese Option ist für mich immer deaktiviert
Jader Dias

Ja, ich habe auch dieses Problem ... weiß jemand, wie man diese Option aktiviert?
Jason

2

1 Befehl verwenden

show create table test.location

Geben Sie hier die Bildbeschreibung ein

  1. Klicken Sie mit der rechten Maustaste auf die ausgewählte Zeile und wählen Sie Wert in Viewer öffnen

  2. Wählen Sie die Registerkarte Text Geben Sie hier die Bildbeschreibung ein


2

Lösung für MySQL Workbench 6.3E

  • Klicken Sie im linken Bereich mit der rechten Maustaste auf Ihre Tabelle und wählen Sie "Tabelleninspektor".
  • Klicken Sie im mittleren Bereich auf DDL-Beschriftung

1

Klicken Sie in "Modellübersicht" oder "Diagramm" mit der rechten Maustaste auf die Tabelle und Sie haben folgende Optionen: "In Einfügung in Zwischenablage kopieren" ODER "SQL in Zwischenablage kopieren"


1

Ich bin mir nicht sicher, ob dies immer noch ein Problem ist, aber für mich ist es in 5.2.35CE möglich, die Erstellungsskripte zu erhalten, indem ich:

  1. Datenbank -> Reverse Engineer

  2. Wählen Sie unter Gespeicherte Verbindung Ihre Datenbank aus

  3. Klicken Sie einige Male auf "Weiter", wählen Sie das Schema aus, das Sie zurückentwickeln möchten, und lassen Sie das Tool arbeiten

  4. Sie erhalten eine "EER-Diagramm" -Ansicht mit allen DB-Schemata. Wenn Sie mit der rechten Maustaste auf die Tabelle klicken, die Sie interessiert, und "SQL in Zwischenablage kopieren" wählen, haben Sie wahrscheinlich das, was Sie brauchen.

Hoffentlich hilft das jemand anderem, der es braucht.



0
  1. Öffnen Sie die MySQL Workbench (6.3 CE).
  2. Wählen Sie in "Navigator" "Management"
  3. Wählen Sie dann "Datenexport" (Wählen Sie hier die Tabelle aus, deren Erstellungsskript Sie exportieren möchten)
  4. Wählen Sie im Dropdown-Menü "Struktur und Daten sichern".
  5. Aktivieren Sie das Kontrollkästchen "Schema erstellen einschließen".
  6. Klicken Sie auf die Schaltfläche "Export starten". Nach Abschluss des Exports wird der Speicherort angezeigt, an dem die exportierte Datei in Ihrem System gespeichert wird. Gehen Sie zum Speicherort und öffnen Sie die exportierte Datei, um das Skript zur Tabellenerstellung zu finden.

Oder überprüfen Sie https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.