Skopiuj tabelę w SQL

Skopiuj Tabele W Sql



Na pozór powielanie danych może wydawać się nieefektywne; czasami może odegrać bardzo kluczową rolę w przypadkach, gdy potrzebujesz niemal dokładnej kopii tej samej tabeli.

W SQL możemy użyć różnych metod i technik, aby skopiować istniejącą tabelę i mieć nową tabelę pod nową nazwą, ale z tymi samymi danymi. Może to być bardzo przydatne w niektórych zadaniach, takich jak tworzenie kopii zapasowych, przekształcanie danych, tymczasowe zmiany danych bez wpływu na tabelę główną i nie tylko.







W tym przewodniku przyjrzymy się tym metodom i dowiemy się, jak skopiować tabelę z baz danych SQL. Ze względu na różnice w sposobie, w jaki różne silniki baz danych SQL obsługują kopiowanie tabel, nie omówimy wszystkich metod dla każdej bazy danych.



Spróbujemy omówić co najmniej jeden dla każdego silnika bazy danych, jeśli jest on obsługiwany, aby pokazać, w jaki sposób można skopiować tabelę dla każdego obsługiwanego silnika bazy danych.



Metoda 1: Globalna (przy użyciu instrukcji CREATE TABLE)

Najpopularniejszą i najprostszą metodą kopiowania tabeli jest użycie instrukcji CREATE TABLE.





W przeciwieństwie do zwykłej instrukcji CREATE TABLE, przekazujemy instrukcję SELECT, która zawiera strukturę i dane tabeli źródłowej.

Składnia jest następująca:



UTWÓRZ TABELĘ new_table AS
WYBIERAĆ * Z tabeli_źródłowej;

Dzięki temu możemy utworzyć nową tabelę o określonej nazwie z tabeli źródłowej.

Weźmy na przykład przykładową bazę danych Sakila. Załóżmy, że chcemy utworzyć tabelę podobną do tabeli czynszów.

Możemy zastosować poprzednią technikę, jak pokazano w poniższym przykładowym zapytaniu:

UTWÓRZ TABELĘ rental_copy AS
WYBIERAĆ * Z wynajmu;

Powinno to spowodować utworzenie nowej tabeli o nazwie „rental_copy”, która zawiera tę samą strukturę i dane, co tabela wynajmu.

Można to sprawdzić wybierając dane z tabeli w następujący sposób:

WYBIERAĆ * FROM wynajem_copy;

Powinno to zawierać dokładne dane jak w tabeli wynajmu.

Metoda 2: Globalna (przy użyciu instrukcji INSERT INTO)

Inną metodą obsługiwaną na całym świecie przez szeroką gamę baz danych SQL jest użycie instrukcji INSERT INTO.

Technika ta pozwala nam kopiować z jednej tabeli do drugiej. W przeciwieństwie do CREATE TABLE i SELECT, ta metoda pozwala nam na selektywne pobieranie danych.

Przydaje się to, gdy potrzebujemy większej kontroli w procesie kopiowania. Możemy użyć składni, jak pokazano poniżej:

WSTAW DO tabeli docelowej ( kolumna1, kolumna2, ... )
WYBIERZ kolumnę 1, kolumnę 2, ...
Z tabeli_źródłowej;

W tym przypadku możemy określić kolumny, które chcemy uwzględnić w nowej tabeli, bez pobierania wszystkiego z oryginalnej tabeli.

Weźmy na przykład następujące zapytanie:

WSTAWIĆ
DO
wypożyczona_kopia ( id_wynajmu,
data_wypożyczenia,
Data powrotu )
WYBIERAĆ
id_wynajmu,
data_wypożyczenia,
Data powrotu
Z
wynajem r;

Wadą tej metody jest to, że może wymagać utworzenia podobnej tabeli z kolumnami, które chcesz uwzględnić. Może to być powtarzalne i wydajne podczas pracy z dużym zbiorem danych.

Metoda 3: Skopiuj strukturę tabeli

W innych przypadkach możesz natknąć się na przypadki, w których będziesz zainteresowany strukturą tabeli bez potrzeby przechowywania danych w tabeli.

W takim scenariuszu można użyć instrukcji CREATE TABLE w połączeniu z klauzulą ​​LIKE w następujący sposób:

UTWÓRZ TABELĘ nowa_tabela ( JAK tabela_źródłowa ) ;

Powinno to utworzyć nową tabelę o określonej nazwie i strukturze podobnej do „tabeli_źródłowej” bez faktycznego kopiowania danych.

Kopiowanie tabel pomiędzy bazami danych

Aby skopiować tabele pomiędzy różnymi bazami danych, możemy wyeksportować dane ze źródłowej bazy danych i zaimportować je do docelowej bazy danych.

Zwykle wiąże się to z użyciem formatów opartych na plikach, takich jak CSV lub narzędzia specyficzne dla bazy danych. Możesz zapoznać się z dokumentacją swojej bazy danych, aby dowiedzieć się, jak to osiągnąć, ponieważ może się to różnić w zależności od silnika bazy danych.

Metoda 4: Korzystanie z połączonych serwerów (SQL Server)

W SQL Server możemy kopiować tabele pomiędzy bazami danych za pomocą serwerów połączonych.

Połączone serwery pozwalają nam nawiązać połączenie ze zdalną bazą danych i wysyłać zapytania lub przesyłać dane między nimi.

Składnia jest następująca:

WŁÓŻ W [ Nazwa połączonego serwera ] . [ Nazwa bazy danych ] . [ Nazwa schematu ] . [ tabela_docelowa ]
WYBIERAĆ * Z tabeli_źródłowej;

Umożliwia to zdalne połączenie i przesyłanie danych pomiędzy zdalnymi serwerami.

Wniosek

W tym samouczku nauczyliśmy się używać różnych metod i technik kopiowania tabeli w języku SQL oraz pracować z nimi.