13.07.12

MySQL Tabellen kopieren – Einfacher als man denkt

Disketten

Wenn man eine MySQL-Tabelle kopieren möchte, wird man vermutlich zunächst auf die Idee kommen mit einem Tool wie phpMyAdmin oder MySQL Workbench die Tabelle zu exportieren und sie in der Zieldatenbank bzw. unter neuem Namen zu reimportieren.
Dies ist zwar kein besonders großer Aufwand, kann bei großen Tabellen jedoch relativ lange dauern. Mit 4 SQL-Kommandos kann man das Selbe wesentlich schneller erreichen.

Zunächst muss man die neue Tabelle erstellen:

CREATE TABLE newTable LIKE otherDB.oldTable

Mit diesem Kommando erzeugt man eine exakte Kopie der Struktur der Ursprungstabelle. Nun muss man nur mehr die Daten selbst kopieren:

ALTER TABLE newTable DISABLE KEYS
INSERT INTO newTable SELECT * FROM otherDB.oldTable
ALTER TABLE newTable ENABLE KEYS

Die ALTER-Kommandos deaktivieren zunächst die Schlüssel in der Tabelle und nach dem Einfügen der Daten werden diese wieder aktiviert und neu erstellt. Das eigentliche Kopieren wird durch das INSERT Kommando durchgeführt. Und damit ist auch schon die komplette Tabelle kopiert.

Das könnte Sie auch interessieren:


Von: Tags: mysql, tipp, Web

Sag deine Meinung

Die E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.






  • Meynerts | 04.03.13 10h 54m

    Ihr Tip “MySQL Tabellen kopieren – Einfacher als man denkt” ist sehr hilfreich gewesen.
    Kann es sein, dass sich in Zeile 1 ein Fehler eingeschlichen hat? CREATE TABLE newTable LIKE TABLE otherDB.oldTable Ich glaube, das zweite TABLE ist zu viel.
    Mit freundlichen Grüßen
    Meynerts
    antworten >>

    • admin | 06.03.13 15h 41m

      Ja stimmt, das zweite TABLE ist zu viel. Vielen Dank für den Hinweis.
      antworten >>

    • admin | 06.03.13 15h 44m

      Ja stimmt, das zweite TABLE ist zu viel. Vielen Dank für den Hinweis.
      antworten >>

Suche

Bleibe auf dem Laufenden

Mit dem Newsletter verpasst man nie mehr neue Beiträge und wird trotzdem nicht zugespammt.