Kopieren Sie eine Tabelle in SQL

Kopieren Sie Eine Tabelle In Sql



Oberflächlich betrachtet mag die Datenvervielfältigung ineffizient erscheinen; Dies kann manchmal eine sehr entscheidende Rolle spielen, wenn Sie eine nahezu exakte Kopie derselben Tabelle benötigen.

In SQL können wir verschiedene Methoden und Techniken verwenden, um eine vorhandene Tabelle zu kopieren und die neue Tabelle unter einem neuen Namen, aber mit denselben Daten zu erstellen. Dies kann bei bestimmten Aufgaben wie Sicherungen, Datentransformationen, vorübergehenden Datenänderungen ohne Auswirkungen auf die Haupttabelle und mehr sehr nützlich sein.







In diesem Leitfaden werden wir diese Methoden untersuchen und erfahren, wie wir eine Tabelle in SQL-Datenbanken kopieren können. Aufgrund der Unterschiede in der Art und Weise, wie die verschiedenen SQL-Datenbank-Engines das Kopieren von Tabellen handhaben, werden wir nicht alle Methoden für jede Datenbank behandeln.



Wir werden versuchen, mindestens eine für jede Datenbank-Engine abzudecken, sofern diese unterstützt wird, um Ihnen zu zeigen, wie Sie eine Tabelle für jede Ihrer unterstützten Datenbank-Engines kopieren können.



Methode 1: Global (mit der CREATE TABLE-Anweisung)

Die gebräuchlichste und einfachste Methode zum Kopieren einer Tabelle ist die Verwendung der CREATE TABLE-Anweisung.





Im Gegensatz zu einer normalen CREATE TABLE-Anweisung übergeben wir eine SELECT-Anweisung, die die Struktur und die Daten der Quelltabelle enthält.

Die Syntax lautet wie folgt:



CREATE TABLE new_table AS
WÄHLEN * FROM source_table;

Dadurch können wir aus der Quelltabelle eine neue Tabelle mit dem angegebenen Namen erstellen.

Nehmen Sie zum Beispiel die Sakila-Beispieldatenbank. Angenommen, wir möchten eine ähnliche Tabelle wie die Miettabelle erstellen.

Wir können die vorherige Technik verwenden, wie in der folgenden Beispielabfrage gezeigt:

CREATE TABLE rental_copy AS
WÄHLEN * AB Miete;

Dadurch sollte eine neue Tabelle mit dem Namen „rental_copy“ erstellt werden, die dieselbe Struktur und dieselben Daten wie die Miettabelle enthält.

Sie können dies überprüfen, indem Sie die Daten wie folgt aus der Tabelle auswählen:

WÄHLEN * FROM rental_copy;

Diese sollte die exakten Daten wie die Miettabelle enthalten.

Methode 2: Global (mit der INSERT INTO-Anweisung)

Eine weitere Methode, die weltweit von einer Vielzahl von SQL-Datenbanken unterstützt wird, ist die Verwendung der INSERT INTO-Anweisung.

Mit dieser Technik können wir von einer Tabelle in eine andere kopieren. Im Gegensatz zu CREATE TABLE und SELECT können wir mit dieser Methode die Daten selektiv abrufen.

Dies ist praktisch, wenn wir mehr Kontrolle über den Kopiervorgang benötigen. Wir können die Syntax wie folgt verwenden:

INSERT INTO target_table ( Spalte1, Spalte2, ... )
SELECT Spalte1, Spalte2, ...
FROM source_table;

In diesem Fall können wir die Spalten angeben, die wir in die neue Tabelle aufnehmen möchten, ohne tatsächlich alles aus der Originaltabelle abzurufen.

Nehmen Sie zum Beispiel die folgende Abfrage:

EINFÜGEN
HINEIN
vermietung_kopie ( Vermietungs-ID,
Mietdatum,
Rückflugdatum )
WÄHLEN
Vermietungs-ID,
Mietdatum,
Rückflugdatum
AUS
Miete r;

Ein Nachteil dieser Methode besteht darin, dass Sie möglicherweise eine ähnliche Tabelle mit den Spalten erstellen müssen, die Sie einbeziehen möchten. Dies kann repetitiv und effizient sein, wenn mit einem großen Datensatz gearbeitet wird.

Methode 3: Kopieren Sie die Tabellenstruktur

In anderen Fällen kann es vorkommen, dass Sie an der Tabellenstruktur interessiert sind, ohne die in der Tabelle gespeicherten Daten zu benötigen.

In einem solchen Szenario können Sie die CREATE TABLE-Anweisung in Verbindung mit der LIKE-Klausel wie folgt verwenden:

CREATE TABLE new_table ( LIKE source_table ) ;

Dadurch sollte eine neue Tabelle mit dem angegebenen Namen und einer ähnlichen Struktur wie „source_table“ erstellt werden, ohne dass die Daten tatsächlich kopiert werden.

Kopieren der Tabellen zwischen Datenbanken

Um die Tabellen zwischen verschiedenen Datenbanken zu kopieren, können wir die Daten aus der Quelldatenbank exportieren und in die Zieldatenbank importieren.

Dies beinhaltet typischerweise die Verwendung dateibasierter Formate wie CSV oder datenbankspezifischer Tools. Informationen dazu finden Sie in der Dokumentation Ihrer Datenbank, da diese je nach Datenbank-Engine variieren kann.

Methode 4: Verwendung der Verbindungsserver (SQL Server)

In SQL Server können wir die Tabellen mithilfe von Verbindungsservern zwischen Datenbanken kopieren.

Mit Verbindungsservern können wir eine Verbindung zu einer entfernten Datenbank herstellen und die Daten zwischen ihnen abfragen oder übertragen.

Die Syntax lautet wie folgt:

EINFÜGEN IN [ LinkedServerName ] . [ Name der Datenbank ] . [ SchemaName ] . [ target_table ]
WÄHLEN * FROM source_table;

Dies ermöglicht die Remote-Verbindung und Datenübertragung zwischen Remote-Servern.

Abschluss

In diesem Tutorial haben wir gelernt, wie man verschiedene Methoden und Techniken zum Kopieren einer Tabelle in SQL verwendet und damit arbeitet.