Ringkasan. dalam tutorial ini, Anda akan mempelajari cara menyalin tabel dalam database yang sama atau dari satu database ke database lain menggunakan pernyataan CREATE TABLE dan SELECT
Salin tabel MySQL ke tabel baru
Menyalin data dari tabel yang sudah ada ke tabel baru sangat berguna dalam beberapa kasus seperti mencadangkan data dan mereplikasi data produksi untuk pengujian
Untuk menyalin data dari tabel ke tabel baru, Anda menggunakan pernyataan CREATE TABLE dan SELECT sebagai berikut
CREATE TABLE new_table SELECT col, col2, col3 FROM existing_table;
Code language: SQL (Structured Query Language) (sql)Pertama, MySQL membuat tabel baru dengan nama yang ditunjukkan dalam pernyataan CREATE TABLE. Struktur tabel baru ditentukan oleh kumpulan hasil dari pernyataan
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)4. Kemudian, MySQL mengisi data yang berasal dari pernyataanCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)4 ke tabel baruUntuk menyalin sebagian data dari tabel yang sudah ada ke yang baru, Anda menggunakan klausa WHERE dalam pernyataan SELECT sebagai berikut
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)_Sangat penting untuk memeriksa apakah tabel yang ingin Anda buat sudah ada sebelum membuatnya. Untuk melakukannya, Anda menggunakan klausa
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)_6 dalam pernyataanCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)7. Perintah lengkap untuk menyalin data dari tabel yang ada ke tabel yang baru adalah sebagai berikutCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)_Perhatikan bahwa pernyataan di atas hanya menyalin tabel dan datanya. Itu tidak menyalin objek database lain seperti indeks, batasan kunci primer, batasan kunci asing, pemicu, dll. , terkait dengan tabel
Untuk menyalin data dari satu tabel dan juga semua objek tabel yang bergantung, Anda menggunakan pernyataan berikut
CREATE TABLE IF NOT EXISTS new_table LIKE existing_table; INSERT new_table SELECT * FROM existing_table;
Code language: SQL (Structured Query Language) (sql)Kita perlu menjalankan dua pernyataan. Pernyataan pertama membuat tabel baru
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)8 dengan menduplikasiCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)9. Pernyataan kedua menyisipkan data dari tabel yang ada ke dalamCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)8Contoh tabel salin MySQL
Pernyataan berikut menyalin data dari tabel
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)1 ke tabel baru bernamaCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)2 di database sampelCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)3CREATE TABLE IF NOT EXISTS offices_bk SELECT * FROM offices;
Code language: SQL (Structured Query Language) (sql)Kami dapat memverifikasi salinan dengan meminta data dari tabel
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)4 sebagai berikutSELECT * FROM offices_bk;
Jika kami ingin menyalin kantor di AS saja, kami dapat menambahkan klausa
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)5 ke pernyataanCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)4 sebagai berikutCREATE TABLE IF NOT EXISTS offices_usa SELECT * FROM offices WHERE country = 'USA'
Code language: SQL (Structured Query Language) (sql)Pernyataan berikut mendapatkan semua data dari tabel
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)7SELECT * FROM offices_usa;
Code language: SQL (Structured Query Language) (sql)_Misalkan, kita ingin menyalin tidak hanya data tetapi juga semua objek database yang terkait dengan tabel
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)1, kita menggunakan pernyataan berikut.CREATE TABLE offices_dup LIKE offices; INSERT office_dup SELECT * FROM offices;
Code language: SQL (Structured Query Language) (sql)Salin tabel MySQL ke database lain
Terkadang, Anda ingin menyalin tabel ke database lain. Dalam kasus seperti itu, Anda menggunakan pernyataan berikut
CREATE TABLE destination_db.new_table LIKE source_db.existing_table; INSERT destination_db.new_table SELECT * FROM source_db.existing_table;
Code language: SQL (Structured Query Language) (sql)Pernyataan pertama membuat tabel baru new_table di database tujuan (destination_db) dengan menduplikasi tabel yang ada (existing_table) dari database sumber (source_db)
Pernyataan kedua menyalin data dari tabel yang ada di database sumber ke tabel baru di database tujuan
Mari kita lihat contoh berikut
Pertama, kami membuat database bernama testdb menggunakan pernyataan berikut
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)_0Kedua, kita membuat tabel
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)1 diCREATE TABLE IF NOT EXISTS new_table LIKE existing_table; INSERT new_table SELECT * FROM existing_table;
Code language: SQL (Structured Query Language) (sql)0 dengan menyalin strukturnya dari tabelCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)1 di databaseCREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)3CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)_1Ketiga, kami menyalin data dari classimodels. meja kantor untuk testdb. meja kantor
CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)_2Mari verifikasi data dari tabel
CREATE TABLE IF NOT EXISTS new_table LIKE existing_table; INSERT new_table SELECT * FROM existing_table;
Code language: SQL (Structured Query Language) (sql)3CREATE TABLE new_table SELECT col1, col2, col3 FROM existing_table WHERE conditions;
Code language: SQL (Structured Query Language) (sql)3Dalam tutorial ini, kami telah menunjukkan kepada Anda berbagai teknik untuk menyalin tabel dalam database dan dari satu database ke database lainnya.