13.07.12
MySQL Tabellen kopieren – Einfacher als man denkt

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:
- MySQL suchen und ersetzen
- PHP: RSS Feed Reader in 10 Minuten
- PHP Memcache Server einrichten
- CSS: Nicht selektierbarer Text
- apache: SSL erzwingen
Von: admin 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
Spannende Themen
Bleibe auf dem Laufenden