Salin Tabel di SQL

Salin Tabel Di Sql



Meskipun pada permukaannya, duplikasi data mungkin tampak tidak efisien; kadang-kadang dapat memainkan peran yang sangat penting ketika Anda perlu memiliki salinan yang hampir sama persis dari tabel yang sama.

Dalam SQL, kita bisa menggunakan berbagai metode dan teknik untuk menyalin tabel yang sudah ada dan memiliki tabel baru dengan nama baru tetapi dengan data yang sama. Ini bisa sangat berguna dalam tugas-tugas tertentu seperti pencadangan, transformasi data, perubahan data sementara tanpa mempengaruhi tabel utama, dan banyak lagi.







Dalam panduan ini, kita akan menjelajahi metode ini dan mempelajari bagaimana kita bisa menyalin tabel di database SQL. Karena perbedaan cara berbagai mesin database SQL menangani penyalinan tabel, kami tidak akan membahas semua metode untuk setiap database.



Kami akan mencoba dan membahas setidaknya satu untuk setiap mesin basis data, kapan pun didukung, untuk menunjukkan kepada Anda bagaimana Anda bisa menyalin tabel untuk setiap mesin basis data yang didukung.



Metode 1: Global (Menggunakan Pernyataan CREATE TABLE)

Metode yang paling umum dan sederhana untuk menyalin tabel adalah menggunakan pernyataan CREATE TABLE.





Berbeda dengan pernyataan CREATE TABLE pada umumnya, kita meneruskan pernyataan SELECT yang berisi struktur dan data tabel sumber.

Sintaksnya adalah sebagai berikut:



BUAT TABEL tabel_baru SEBAGAI
PILIH * DARI tabel_sumber;

Hal ini memungkinkan kita membuat tabel baru dengan nama tertentu dari tabel sumber.

Ambil contoh database sampel Sakila. Misalkan kita ingin membuat tabel serupa dengan tabel rental.

Kita bisa menggunakan teknik sebelumnya seperti yang ditunjukkan pada contoh query berikut:

BUAT TABEL rental_copy AS
PILIH * DARI sewa;

Ini akan membuat tabel baru bernama “rental_copy” yang berisi struktur dan data yang sama dengan tabel rental.

Anda dapat memverifikasi dengan memilih data dari tabel sebagai berikut:

PILIH * DARI rental_copy;

Ini harus berisi data yang sama persis dengan tabel rental.

Metode 2: Global (Menggunakan Pernyataan INSERT INTO)

Metode lain yang didukung secara global oleh berbagai macam database SQL adalah menggunakan pernyataan INSERT INTO.

Teknik ini memungkinkan kita untuk menyalin dari satu tabel ke tabel lainnya. Berbeda dengan CREATE TABLE dan SELECT, metode ini memungkinkan kita mengambil data secara selektif.

Ini berguna ketika kita memerlukan kontrol lebih besar dalam proses penyalinan. Kita dapat menggunakan sintaks seperti yang ditunjukkan berikut ini:

MASUKKAN KE DALAM tabel_target ( kolom1, kolom2, ... )
PILIH kolom1, kolom2, ...
DARI tabel_sumber;

Dalam hal ini, kita bisa menentukan kolom yang ingin kita sertakan dalam tabel baru tanpa benar-benar mengambil semuanya dari tabel asli.

Ambil contoh kueri berikut:

MENYISIPKAN
KE DALAM
sewa_salinan ( sewa_id,
tanggal_sewa,
tanggal pengembalian )
PILIH
sewa_id,
tanggal_sewa,
tanggal pengembalian
DARI
sewa r;

Salah satu kelemahan metode ini adalah Anda mungkin perlu membuat tabel serupa dengan kolom yang ingin Anda sertakan. Ini bisa bersifat berulang dan efisien ketika bekerja dengan kumpulan data yang besar.

Metode 3: Salin Struktur Tabel

Dalam kasus lain, Anda mungkin menemukan contoh di mana Anda tertarik pada struktur tabel tanpa memerlukan data yang disimpan dalam tabel.

Dalam skenario seperti ini, Anda dapat menggunakan pernyataan CREATE TABLE bersama dengan klausa LIKE sebagai berikut:

BUAT TABEL tabel_baru ( SEPERTI tabel_sumber ) ;

Ini harus membuat tabel baru dengan nama yang ditentukan dan struktur serupa dengan 'tabel_sumber' tanpa benar-benar menyalin data.

Menyalin Tabel antar Database

Untuk menyalin tabel antar database yang berbeda, kita dapat mengekspor data dari database sumber dan mengimpornya ke database target.

Ini biasanya melibatkan penggunaan format berbasis file seperti CSV atau alat khusus database. Anda dapat mereferensikan dokumentasi untuk database Anda tentang cara melakukannya karena mungkin berbeda-beda tergantung pada mesin database.

Metode 4: Menggunakan Server Tertaut (SQL Server)

Di SQL Server, kita bisa menyalin tabel antar database menggunakan Linked Server.

Server Tertaut memungkinkan kita membuat koneksi ke database jarak jauh dan menanyakan atau mentransfer data di antara keduanya.

Sintaksnya adalah sebagai berikut:

MASUKKAN KE DALAM [ Nama Server Tertaut ] . [ Nama Basis Data ] . [ Nama Skema ] . [ target_tabel ]
PILIH * DARI tabel_sumber;

Hal ini memungkinkan koneksi jarak jauh dan transfer data antar server jarak jauh.

Kesimpulan

Dalam tutorial ini, kita mempelajari cara menggunakan dan bekerja dengan berbagai metode dan teknik menyalin tabel di SQL.