Untuk ini, gunakan pernyataan INSERT INTO SELECT. Mari kita buat tabel − terlebih dahulu Show
mysql> create table DemoTable1879 ( Id int, Name varchar(20) ); Query OK, 0 rows affected (0.00 sec) Masukkan beberapa record ke dalam tabel menggunakan perintah insert − mysql> insert into DemoTable1879 values(101,'Chris Brown'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1879 values(102,'David Miller'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1879 values(103,'Adam Smith'); Query OK, 1 row affected (0.00 sec)_ Tampilkan semua catatan dari tabel menggunakan pernyataan pilih − mysql> select * from DemoTable1879; Ini akan menghasilkan output berikut - +------+--------------+ | Id | Name | +------+--------------+ | 101 | Chris Brown | | 102 | David Miller | | 103 | Adam Smith | +------+--------------+ 3 rows in set (0.00 sec) Inilah kueri untuk membuat tabel kedua − mysql> create table DemoTable1880 ( ClientId int, ClientName varchar(20) ); Query OK, 0 rows affected (0.00 sec)_ Ini adalah kueri untuk menyalin baris dari satu tabel ke tabel lainnya − mysql> insert into DemoTable1880(ClientId,ClientName) select Id,Name from DemoTable1879 where Id IN(101,103); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 Tampilkan semua catatan dari tabel menggunakan pernyataan pilih − mysql> select * from DemoTable1880;_ Ini akan menghasilkan output berikut - +----------+-------------+ | ClientId | ClientName | +----------+-------------+ | 101 | Chris Brown | | 103 | Adam Smith | +----------+-------------+ 2 rows in set (0.00 sec) Artikel ini menjelaskan proses tabel salin MySQL. Pada artikel ini, Anda akan mempelajari bagaimana kami dapat menyalin data dari satu tabel ke tabel lainnya. Tabel-tabel ini bisa berada di database yang sama atau database yang berbeda. Proses copy table MySQL dapat menyalin dataset tertentu atau semua data dari tabel sumber ke tabel tujuan. Kami dapat menggunakan proses tabel salin MySQL untuk mereplikasi masalah yang terjadi pada server produksi, yang membantu pengembang memperbaiki masalah dengan cepat Untuk menyalin data antar tabel, kami menggunakan kombinasi pernyataan CREATE TABLE dan SELECT. Jika Anda ingin menyalin kumpulan data tertentu dari tabel, kita dapat memfilter catatan dengan menambahkan klausa WHERE. Sintaks untuk menyalin tabel dan data adalah sebagai berikut 1 BUAT TABEL tabel_tujuan PILIH col_1,col_2, col_3.. dari source_table WHERE kondisi Dalam sintaks,
Saat Anda menyalin data dari tabel sumber ke tabel tujuan, MySQL melakukan tugas berikut
Sekarang, mari kita lihat beberapa contoh. Untuk demonstrasi, kita akan menggunakan database Sakila. Kami menggunakan meja kerja MySQL Contoh 1. Salin seluruh tabel dengan dataMisalkan kita ingin menyalin data dari tabel film ke tabel movies_backup. Untuk melihat data, jalankan di bawah pernyataan SELECT 1 Pilih * dari film; Untuk menyalin data dari film (tabel sumber) ke tabel film_backup (tujuan). 1 buat tabel movies_backup pilih * from movies; Setelah data disalin, jalankan pernyataan SELECT untuk melihat data 1 Pilih * dari movies_backup; Seperti yang Anda lihat, database telah disalin ke tabel movies_backup Contoh 2. Salin sebagian data menggunakan klausa WHEREMisalkan Anda ingin membuat tabel yang berisi daftar film yang ratingnya NC-17. Dalam contoh ini, tabel sumbernya adalah film, dan tabel tujuannya adalah tbl_movies_Rating_NC17. Untuk memfilter data, kami menggunakan klausa WHERE pada kolom rating 1 buat tabel tbl_movies_Rating_NC17 pilih * from movies WHERE rating='NC-17'; Setelah data disalin, jalankan pernyataan SELECT di tbl_movies_rating_NC17 1 pilih * dari tbl_movies_Rating_NC17 Seperti yang Anda lihat, data telah disalin Contoh 3. Salin tabel di antara databaseDalam contoh ini, kita akan melihat bagaimana kita dapat menyalin data dari tabel sumber ke tabel tujuan di database lain. Sebagai demonstrasi, saya telah membuat database bernama DEV_SakilaDB, dan kami akan menyalin data dari tabel aktor dari database sakila ke tabel tblActor dari database DEV_SakilaDB Kueri berikut membuat database baru bernama DEV_SakilaDB 1 Buat database DEV_SakilaDB; Untuk menyalin data, kami akan menjalankan kueri berikut 1 buat tabel `DEV_SakilaDB`.`tblactor` pilih * . from `sakila`.`aktor`; Setelah data disalin, jalankan pernyataan SELECT berikut 1 pilih * dari `DEV_SakilaDB`.`pengguna`; Seperti yang Anda lihat, data telah disalin ke Contoh 4. Proses salin tabel MySQL untuk mengkloning tabelSaat kita menggunakan proses copy table MySQL menggunakan CREATE TABLE. Pernyataan SELECT tidak membuat indeks, batasan, kunci utama, kunci asing yang terkait dengan tabel sumber. Jika Anda ingin mengkloning tabel sumber, kita dapat menggunakan metode berikut
Mari kita pahami dengan contoh sederhana. Kami menggunakan tabel aktor. Untuk melihat struktur tabel, kita dapat menggunakan pernyataan SHOW CREATE TABLE [tbl_name]. Jalankan kueri berikut 1 TAMPILKAN BUAT TABEL aktor; Berikut adalah struktur tabel dari tabel aktor 1 2 3 4 5 6 7 8 BUAT TABEL `aktor` ( `actor_id` kecil unsigned NOT NULL AUTO_INCREMENT, `nama_depan` varchar(45) NOT NULL, `nama_belakang` varchar(45) NOT NULL, `last_update` stempel waktu NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, UTAMA KUNCI (`actor_id`), KEY `idx_actor_last_name` (`last_name`) ) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci Sekarang, mari kita jalankan CREATE TABLE. Pernyataan SELECT untuk menyalin data. Tabel sumber adalah aktor dan tabel tujuan adalah tblActor_backup. Kueri mengikuti 1 buat tabel `tblActor_backup` select * from `actor`; Setelah data disalin, jalankan pernyataan SHOW CREATE TABLE untuk melihat struktur tabel tblActor_backup 1 TAMPILKAN BUAT TABEL tblActor_backup; Struktur tabel tblActor_backup adalah sebagai berikut 1 2 3 4 5 6 BUAT TABEL `tblactor_backup` ( `actor_id` kecil unsigned NOT NULL DEFAULT '0', `nama_depan` varchar(45) NOT NULL, `nama_belakang` varchar(45) NOT NULL, `last_update` stempel waktu NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci Seperti yang Anda lihat pada skrip di atas, kunci utama tabel tblActor tidak ada. Sekarang, mari kita jalankan CREATE TABLE. SUKA. pernyataan untuk membuat tabel 1 buat tabel `tblActor_backup` LIKE `actor`; Setelah data disalin, jalankan SHOW CREATE TABLE untuk melihat struktur tabel tblActor_backup 1 TAMPILKAN BUAT TABEL `tblActor_backup`; 1 2 3 4 5 6 7 8 BUAT TABEL `tblactor_backup` ( `actor_id` kecil unsigned NOT NULL AUTO_INCREMENT, `nama_depan` varchar(45) NOT NULL, `nama_belakang` varchar(45) NOT NULL, `last_update` stempel waktu NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, UTAMA KUNCI (`actor_id`), KEY `idx_actor_last_name` (`last_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci Seperti yang Anda lihat, skrip CREATE TABLE memiliki kunci utama Sekarang jalankan INSERT INTO. Pernyataan SELECT untuk menyisipkan data dari tabel sumber ke tabel tujuan 1 MASUKKAN KELUAR `tblActor_backup` select * from `actor`; Jalankan pernyataan SELECT untuk melihat data 1 Pilih * dari `tblActor_backup` Keluaran Kueri Seperti yang Anda lihat, data telah disalin ke tabel tblActor_backup RingkasanPada artikel ini, kita belajar tentang proses copy table MySQL. Untuk menyalin, Kita bisa menggunakan CREATE TABLE. pernyataan PILIH. Kami juga mempelajari pernyataan CREATE TABLE USING untuk membuat tiruan dari tabel sumber dan menggunakan pernyataan INSERT INTO SELECT untuk menyalin data. Kami mempelajari metode ini menggunakan berbagai contoh Bagaimana cara menyalin baris dari satu tabel ke tabel lainnya di MySQL?Jika Anda ingin menyalin baris tabel sumber yang ada ke tabel tujuan baru, pertama-tama Anda harus membuat tabel tujuan seperti tabel sumber. . buat tabel destination_table seperti source_table masukkan ke destination_table pilih * dari source_table Bagaimana cara menyalin baris dari satu tabel ke tabel lainnya di SQL?Pernyataan INSERT INTO SELECT menyalin data dari satu tabel dan menyisipkannya ke tabel lain. Pernyataan INSERT INTO SELECT mensyaratkan bahwa tipe data dalam tabel sumber dan target cocok. Catatan. Rekaman yang ada di tabel target tidak terpengaruh.
Bagaimana cara menyalin seluruh baris di MySQL?Saya hanya perlu melakukan ini dan ini adalah solusi manual saya. . Di phpmyadmin, periksa baris yang ingin Anda salin Di bagian bawah di bawah operasi hasil kueri, klik 'Ekspor' Pada halaman selanjutnya centang 'Save as file' lalu klik 'Go' |