webentwicklung-frage-antwort-db.com.de

Wie kopiere ich eine Tabelle zwischen zwei Modellen in der Mysql-Workbench?

Ich mache eine Datenbanksache, ich muss eine Tabelle von einem Modell in ein anderes kopieren, aber ich versuche viele Möglichkeiten, da es keinen Effekt gibt ... Gibt es eine Möglichkeit, dies zu tun?

19
DraculaW

Die beste Option ist wahrscheinlich, eine abgespeckte Version des Modells zu erstellen, die die zu übertragenden Objekte enthält. Öffnen Sie dann das Zielmodell und führen Sie File -> Include Model... aus. Wählen Sie das abgespeckte Quellmodell aus und los geht's.

19
Mike Lischke

Wenn Sie nur eine einzige Tabelle über die MySQL Workbench erstellen möchten.

In MySQL Workbench:

  1. Verbinden Sie sich mit einem MySQL Server
  2. Erweitern Sie eine Datenbank
  3. Klicken Sie mit der rechten Maustaste auf eine Tabelle
  4. Wählen Sie In Zwischenablage kopieren
  5. Wählen Sie Create Statement aus

Eine Erstellungsanweisung für die Tabelle wird in die Zwischenablage kopiert, ähnlich wie unten dargestellt:

   CREATE TABLE `cache` (
  `cid` varchar(255) NOT NULL DEFAULT '',
  `data` longblob,
  `expire` int(11) NOT NULL DEFAULT '0',
  `created` int(11) NOT NULL DEFAULT '0',
  `headers` text,
  `serialized` smallint(6) NOT NULL DEFAULT '0',
  PRIMARY KEY (`cid`),
  KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Erstellen Sie die Tabelle in der neuen Datenbank

  1. Öffnet eine neue SQL-Registerkarte zum Ausführen von Abfragen (Datei-> Neue Abfrage-Registerkarte)
  2. Ändern Sie den Code für die Tabellenerstellung, um die Datenbank für die Erstellung der Tabelle aufzunehmen.

     CREATE TABLE `databaseName`.`cache` (
      `cid` varchar(255) NOT NULL DEFAULT '',
      `data` longblob,
      `expire` int(11) NOT NULL DEFAULT '0',
      `created` int(11) NOT NULL DEFAULT '0',
      `headers` text,
      `serialized` smallint(6) NOT NULL DEFAULT '0',
      PRIMARY KEY (`cid`),
      KEY `expire` (`expire`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

  3. Klicken Sie dann auf die Schaltfläche Ausführen (sieht wie ein Blitz aus).

Dadurch wird das Tabellenschema mithilfe der MySQL-Workbench von einer Datenbank in eine andere kopiert. Aktualisieren Sie einfach die Tabellen in der Datenbank und Sie sollten Ihre neu hinzugefügte Tabelle sehen

18
Ricky Hewitt
  1. Registerkarte mit Quelldatenbank auswählen 
  2. Im Menü: Server-> Datenexport
  3. Wählen Sie Schema und die Tabelle als Schemaobjekt aus
  4. Wählen Sie die Option In eigenständige Datei exportieren und aktivieren Sie das Kontrollkästchen Dump in einer einzelnen Transaktion erstellen (nur in sich geschlossen)
  5. Kopieren Sie den vollständigen Dateipfad in die Zwischenablage
  6. Export starten
  7. Registerkarte mit Zieldatenbank auswählen 
  8. Im Menü: Server-> Datenimport. Stellen Sie sicher, dass sich der Name Ihrer Zieldatenbank in der oberen linken Ecke der Datenimportansicht befindet
  9. Wählen Sie Aus eigenständiger Datei importieren und fügen Sie den vollständigen Dateipfad aus der Zwischenablage ein
  10. Wählen Sie Standardzielschema aus
  11. Dump-Inhalt auswählen (Dump-Struktur und -Daten usw.)
  12. Starten Sie den Import 
9
x1z1x

Ich denke, das ist es erwähnenswert 

  1. eine kopierte Tabelle kann Felder in Tabellen des ursprünglichen Schemas referenzieren, die nicht vorhanden sind, in dem Schema, in das sie kopiert werden sollen. Es ist möglicherweise eine gute Idee, die Tabelle auf diese Diskrepanzen zu prüfen, bevor Sie sie dem anderen Schema hinzufügen.
  2. es ist wahrscheinlich eine gute Idee, die Engine-Kompatibilität (z. B. InnoDB vs. MyISAM) und den Zeichensatz zu überprüfen.
3
constant283

erstellen Sie eine Tabelle .m_property_nature wie .m_property_nature; 

INSERT INTO .m_property_nature SELECT * from .m_property_nature;

0
Vinod Joshi

Sie können die Crate-Tabellenabfrage aus den Tabelleninformationen abrufen und dieselbe Abfrage für verschiedene Datenbankinstanzen verwenden.

  1. show create table TABLENAME.content und kopieren Sie die Abfrage.
  2. Führen Sie die generierte Abfrage für eine andere verbundene Datenbankinstanz aus.
0
Tarun Voora

Sie können einfach eine select-Anweisung verwenden. Hier erstelle ich ein Duplikat der Tabelle "original_table" aus dem Schema "original_schema"/der Datenbank mit dem Schema "new_schema": 

CREATE TABLE new_schema.duplicate_table AS
Select * from original_schema.original_table;

Sie können einfach eine beliebige select-Anweisung einfügen, eine Bedingung hinzufügen und die Spalten auswählen: 

CREATE TABLE new_schema.duplicate_table AS
SELECT column1, column2       
FROM original_schema.original_table
WHERE column2 < 11000000;
0
Mnl

Wenn Sie Ihre Tabelle bereits erstellt haben und nur die Daten kopieren möchten, empfehlen wir die Verwendung des "Datenexport-Assistenten" und des "Datenimport-Assistenten". Es ist im Grunde genommen das Auswählen von Dingen im Programm zum Exportieren und anschließenden Importieren der Daten und ist einfach zu verwenden.

MySQL hat hier einen Artikel zu den Assistenten: Assistent zum Exportieren und Importieren von Tabellendaten

Gehen Sie folgendermaßen vor, um Daten mithilfe der Assistenten zu kopieren:

  1. Suchen Sie die Tabelle in der Liste, aus der Sie Daten kopieren möchten.
  2. Klicken Sie mit der rechten Maustaste und wählen Sie "Assistent zum Exportieren von Tabellendaten".
  3. Wählen Sie die Spalten aus, die Sie kopieren möchten.
  4. Wählen Sie einen Speicherort für eine * .csv- oder * .json-Datei mit den kopierten Daten.

  5. Suchen Sie die Tabelle, in die die kopierten Daten eingefügt werden sollen.

  6. Klicken Sie mit der rechten Maustaste und wählen Sie "Assistent zum Importieren von Tabellendaten".
  7. Wählen Sie die Datei aus, die Sie gerade exportiert haben.
  8. Ordnen Sie die Spalten aus der Tabelle, aus der Sie kopiert haben, der Tabelle zu, in die Sie einfügen.
  9. Klicken Sie auf "Fertig stellen". Die Daten werden nach Ihren Wünschen eingefügt.
0
RobertLonnberg