Eine MySQL Tabelle via SQL Befehl clonen

In letzter Zeit poste ich so einige Snippets aus dem MySQL/Datenbankbereich, die euch das Leben bei der Arbeit unter der Motorhaube einfacher machen können. Und heute ist schon wieder so ein nützliches Beispiel dran.

Dieses Mal soll eine bereits bestehende MySQL-Tabelle mit allen Daten kopiert werden. Entweder weil ihr sie als Backup braucht oder daran etwas ausprobieren müsst.

Wenn ihr Zugriff auf phpmyadmin habt, wechselt dort in den SQL-Bereich und erstellt erstmal die Kopie der Originaltabelle nur mit den entsprechenden Spalten.

CREATE TABLE neuetabelle LIKE originaltabelle

Es ist klar, dass ihr die Bezeichner neuetabelle und originaltabelle mit euren Tabellennamen ersetzt.

Dann befüllt ihr die neu duplizierte Tabelle mit den Daten der Originaltabelle:

INSERT INTO neuetabelle SELECT * FROM originaltabelle

Voila.

Hinweis: Falls die Originaltabelle in ständiger Beanspruchung ist (Änderung der Einträge, Neue Einträge, Eintragslöschungen) empfiehlt es sich, diese mittels eines LOCK TABLE Befehls für den Zeitraum des Klonens stillzulegen.

Schreibe einen Kommentar

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