Salin Jadual dalam SQL

Salin Jadual Dalam Sql



Walaupun di permukaan, pertindihan data mungkin kelihatan tidak cekap; ia kadangkala boleh memainkan peranan yang sangat penting dalam keadaan di mana anda perlu mempunyai salinan hampir tepat jadual yang sama.

Dalam SQL, kita boleh menggunakan pelbagai kaedah dan teknik untuk menyalin jadual sedia ada dan mempunyai jadual baharu di bawah nama baharu tetapi dengan data yang sama. Ini boleh menjadi sangat berguna dalam tugas tertentu seperti sandaran, transformasi data, pengubahan data sementara tanpa menjejaskan jadual utama dan banyak lagi.







Dalam panduan ini, kami akan meneroka kaedah ini dan mempelajari cara kami boleh menyalin jadual dalam pangkalan data SQL. Disebabkan oleh perbezaan tentang cara pelbagai enjin pangkalan data SQL mengendalikan penyalinan jadual, kami tidak akan merangkumi semua kaedah untuk setiap pangkalan data.



Kami akan mencuba dan merangkumi sekurang-kurangnya satu untuk setiap enjin pangkalan data, apabila disokong, untuk menunjukkan kepada anda cara anda boleh menyalin jadual untuk setiap enjin pangkalan data anda yang disokong.



Kaedah 1: Global (Menggunakan Penyata CREATE TABLE)

Kaedah yang paling biasa dan ringkas untuk menyalin jadual adalah menggunakan pernyataan CREATE TABLE.





Tidak seperti kenyataan CREATE TABLE biasa, kami lulus pernyataan SELECT yang mengandungi struktur dan data jadual sumber.

Sintaksnya adalah seperti berikut:



BUAT JADUAL jadual_baru AS
PILIH * DARI source_table;

Ini membolehkan kami mencipta jadual baharu dengan nama yang ditentukan daripada jadual sumber.

Ambil contoh pangkalan data sampel Sakila. Katakan kita ingin membuat jadual yang serupa dengan jadual sewa.

Kita boleh menggunakan teknik sebelumnya seperti yang ditunjukkan dalam contoh pertanyaan berikut:

BUAT JADUAL salinan_sewaan AS
PILIH * DARIPADA sewaan;

Ini harus membuat jadual baharu yang dipanggil 'rental_copy' yang mengandungi struktur dan data yang sama seperti jadual sewaan.

Anda boleh mengesahkan dengan memilih data daripada jadual seperti berikut:

PILIH * DARI rental_copy;

Ini harus mengandungi data yang tepat seperti jadual sewa.

Kaedah 2: Global (Menggunakan Penyata INSERT INTO)

Kaedah lain yang disokong secara global oleh pelbagai jenis pangkalan data SQL ialah menggunakan pernyataan INSERT INTO.

Teknik ini membolehkan kita menyalin dari satu jadual ke jadual yang lain. Tidak seperti CREATE TABLE dan SELECT, kaedah ini membolehkan kami mengambil data secara selektif.

Ini berguna apabila kita memerlukan lebih kawalan dalam proses penyalinan. Kita boleh menggunakan sintaks seperti yang ditunjukkan dalam yang berikut:

MASUKKAN KE DALAM jadual_sasaran ( lajur1, lajur2, ... )
PILIH lajur1, lajur2, ...
DARI source_table;

Dalam kes ini, kami boleh menentukan lajur yang kami ingin sertakan dalam jadual baharu tanpa mengambil semuanya daripada jadual asal.

Ambil pertanyaan berikut sebagai contoh:

INSERT
KE DALAM
rental_copy ( rental_id,
tarikh_sewa,
tarikh_pulangan )
PILIH
rental_id,
tarikh_sewa,
tarikh_pulangan
DARI
sewa r;

Satu kelemahan kaedah ini ialah ia mungkin memerlukan anda membuat jadual yang serupa dengan lajur yang anda ingin sertakan. Ini boleh berulang dan cekap apabila bekerja dengan set data yang besar.

Kaedah 3: Salin Struktur Jadual

Dalam kes lain, anda mungkin menjumpai keadaan di mana anda berminat dengan struktur jadual tanpa memerlukan data yang disimpan dalam jadual.

Dalam senario sedemikian, anda boleh menggunakan kenyataan CREATE TABLE bersama-sama dengan klausa LIKE seperti berikut:

BUAT JADUAL jadual_baru ( LIKE source_table ) ;

Ini harus membuat jadual baharu dengan nama yang ditentukan dan struktur serupa sebagai 'jadual_sumber' tanpa benar-benar menyalin data.

Menyalin Jadual antara Pangkalan Data

Untuk menyalin jadual antara pangkalan data yang berbeza, kita boleh mengeksport data daripada pangkalan data sumber dan mengimportnya ke dalam pangkalan data sasaran.

Ini biasanya melibatkan penggunaan format berasaskan fail seperti CSV atau alatan khusus pangkalan data. Anda boleh merujuk dokumentasi untuk pangkalan data anda tentang cara untuk mencapai ini kerana ia mungkin berbeza-beza bergantung pada enjin pangkalan data.

Kaedah 4: Menggunakan Pelayan Terpaut (SQL Server)

Dalam SQL Server, kita boleh menyalin jadual antara pangkalan data menggunakan Pelayan Terpaut.

Pelayan Terpaut membolehkan kami mewujudkan sambungan ke pangkalan data jauh dan membuat pertanyaan atau memindahkan data antara mereka.

Sintaksnya adalah seperti berikut:

MASUKKAN KE DALAM [ LinkedServerName ] . [ Nama Pangkalan Data ] . [ Nama Skema ] . [ jadual_sasaran ]
PILIH * DARI source_table;

Ini membolehkan sambungan jauh dan pemindahan data antara pelayan jauh.

Kesimpulan

Dalam tutorial ini, kami belajar cara menggunakan dan bekerja dengan pelbagai kaedah dan teknik menyalin jadual dalam SQL.