Cara Menduplikat Tabel MySQL

Cara Menduplikat Tabel MySQL

Cara Menduplikat Tabel MySQL - Duplikasi didalam sistem basis data merupakan suatu metodi / proses untuk menciptakan duplikat data baru yang sama dengan data yang lainnya. Duplikasi artinya menciptakan suatu tiruan / cetakan dari aslinya. Tiruan dari duplikat tersebut harus cukup bagus untuk digunakan dalam menciptakan tiruan-tiruan selanjutnya.

Menduplikat Tabel MySQL berfungsi untuk membuat tabel cadangan dari tabel aslinya, sehingga ketika ada masalah pada saat melakukan setting pada tabel asli / tabel aslinya tidak sengaja terhapus oleh admin, kita tinggal merestore data dari tabel backup ke tabel asli.

Terdapat beberapa cara untuk menduplikasi tabel di dalam MySQL, salah satunya menggunakan perintah mysqldump. Namun kali ini kita akan membahas cara mencopy tabel MySQL / Cara Menduplikat Tabel MySQL beserta seluruh isinya menggunakan query dari dalam MySQL.

Untuk melakukan Duplikasi Tabel MySQL ada dua langkah, yang pertama yaitu Menduplikat Struktur Tabel dan kemudian yang kedua memindahkan data / record Tabel MySQL ke tabel yang lainnya.

Sebelum itu disini saya menggunakan tabel mahasiswa sebagai contoh artikel kita kali ini.
Contoh kasus : saya ingin membuat data backup tabel mahasiswa dengan nama mahasiswa_backup.
mysql> select*from mahasiswa;
+---------+------------------+------+---------------+
| nim     | nama_mahasiswa   | jk   | alamat        |
+---------+------------------+------+---------------+
| 0202201 | rifai            | L    | Jl. Garuda    |
| 0202202 | rifaldi          | L    | Jl. Garuda    |
| 0202203 | Muh. Yusran      | L    | Jl. Mawar     |
| 0202204 | Muh. Ilham       | L    | Jl. Pancasila |
| 0202205 | Andi Risa        | L    | Jl. Elang     |
| 0202206 | Zainuddin        | L    | Jl. Elang     |
| 0202207 | Zainab           | P    | Jl. Garuda    |
| 0202208 | Ruqaiyah         | P    | Jl. Mawar     |
| 0202209 | Rudi             | L    | Jl. Kakatua   |
| 0202210 | Saldi            | L    | Jl. Garuda    |
| 0202211 | Dimas            | L    | Jl. Garuda    |
| 0202212 | Goran Zalavski   | L    | Jl. Merpati   |
| 0202213 | Lubis            | L    | Jl. Merpati   |
| 0202214 | Kusnandar        | L    | Jl. Gagak     |
| 0202215 | Ardiansyah Rasul | L    | Jl. Gagak     |
| 0202216 | Musfahuddin      | L    | Jl. Gagak     |
| 0202217 | Diana Mardiana   | P    | Jl. Garuda    |
| 0202218 | Dian             | P    | Jl. Garuda    |
+---------+------------------+------+---------------+
18 rows in set (0.03 sec)

mysql> 

Duplikat Struktur Tabel MySQL
Untuk membuat struktur tabel baru yang sama persis dengan tabel yang sudah ada, bisa menggunakan format query sebagai berikut
CREATE TABLE    nama_tabel_baru    LIKE    nama_tabel_lama;
Contoh : saya membuat tabel baru dengan nama mahasiswa_backup
mysql> CREATE TABLE mahasiswa_backup LIKE mahasiswa;
Query OK, 0 rows affected (0.22 sec)

mysql> DESC mahasiswa_backup;
+----------------+---------------+------+-----+---------+-------+
| Field          | Type          | Null | Key | Default | Extra |
+----------------+---------------+------+-----+---------+-------+
| nim            | varchar(20)   | NO   | PRI |         |       |
| nama_mahasiswa | varchar(50)   | YES  |     | NULL    |       |
| jk             | enum('L','P') | YES  |     | NULL    |       |
| alamat         | varchar(50)   | YES  |     | NULL    |       |
+----------------+---------------+------+-----+---------+-------+
4 rows in set (0.04 sec)

mysql> 

*Pada tabel diatas kita sudah berhasil membuat tabel baru / tabel backup dari tabel mahasiswa, jika kita lihat strukturnya dengan query DESC mahasiswa_Backup;, strukturnya sama dengan tabel mahasiswa.

Disini saya memastikan tabel yang telah dibuat, tabel mahasiswa_backup belum memiliki data / record.
mysql> SHOW TABLES;
+-------------------+
| Tables_in_idmysql |
+-------------------+
| mahasiswa         |
| mahasiswa_backup  |
+-------------------+
2 rows in set (0.00 sec)

mysql> SELECT*FROM mahasiswa_backup;
Empty set (0.00 sec)

mysql>


Mengcopy Seluruh Isi Tabel MySQL ke Tabel Backup
Cara ini untuk memindahkan seluruh data yang terdapat pada tabel mahasiswa ke tabel mahasiswa_backup. querinya adalah
INSERT INTO    nama_tabel_backup    SELECT*FROM    nama_tabel;
Contoh :
mysql> INSERT INTO mahasiswa_backup SELECT*FROM mahasiswa;
Query OK, 18 rows affected (0.15 sec)
Records: 18  Duplicates: 0  Warnings: 0

mysql> select*from mahasiswa_backup;
+---------+------------------+------+---------------+
| nim     | nama_mahasiswa   | jk   | alamat        |
+---------+------------------+------+---------------+
| 0202201 | rifai            | L    | Jl. Garuda    |
| 0202202 | rifaldi          | L    | Jl. Garuda    |
| 0202203 | Muh. Yusran      | L    | Jl. Mawar     |
| 0202204 | Muh. Ilham       | L    | Jl. Pancasila |
| 0202205 | Andi Risa        | L    | Jl. Elang     |
| 0202206 | Zainuddin        | L    | Jl. Elang     |
| 0202207 | Zainab           | P    | Jl. Garuda    |
| 0202208 | Ruqaiyah         | P    | Jl. Mawar     |
| 0202209 | Rudi             | L    | Jl. Kakatua   |
| 0202210 | Saldi            | L    | Jl. Garuda    |
| 0202211 | Dimas            | L    | Jl. Garuda    |
| 0202212 | Goran Zalavski   | L    | Jl. Merpati   |
| 0202213 | Lubis            | L    | Jl. Merpati   |
| 0202214 | Kusnandar        | L    | Jl. Gagak     |
| 0202215 | Ardiansyah Rasul | L    | Jl. Gagak     |
| 0202216 | Musfahuddin      | L    | Jl. Gagak     |
| 0202217 | Diana Mardiana   | P    | Jl. Garuda    |
| 0202218 | Dian             | P    | Jl. Garuda    |
+---------+------------------+------+---------------+
18 rows in set (0.00 sec)

mysql> 


Mengcopy Hanya Sebagian Isi Tabel MySQL
Misalnya saya hanya ingin mengambil mahasiswa yang beralamat di Jl. Garuda 

mysql> INSERT INTO mahasiswa_backup SELECT*FROM mahasiswa where alamat="Jl. Garuda";
Query OK, 7 rows affected (0.14 sec)
Records: 7  Duplicates: 0  Warnings: 0

mysql> select*from mahasiswa_backup;
+---------+----------------+------+------------+
| nim     | nama_mahasiswa | jk   | alamat     |
+---------+----------------+------+------------+
| 0202201 | rifai          | L    | Jl. Garuda |
| 0202202 | rifaldi        | L    | Jl. Garuda |
| 0202207 | Zainab         | P    | Jl. Garuda |
| 0202210 | Saldi          | L    | Jl. Garuda |
| 0202211 | Dimas          | L    | Jl. Garuda |
| 0202217 | Diana Mardiana | P    | Jl. Garuda |
| 0202218 | Dian           | P    | Jl. Garuda |
+---------+----------------+------+------------+
7 rows in set (0.00 sec)

mysql> 

Sekian artikel Cara Menduplikat Tabel MySQL, nantikan artikel tentang Basis Data di blog ini.


Jika Kalian menyukai Artikel ini Silahkan Bagikan. Bila ada yang ingin berdiskusi tentang Judul Artikel diatas atau ada pertanyaan yang ingin ditanyakan silahkan menggunakan Fasilitas Komentar dan Fasilitas Contact Form. atau bisa mengirim langsung ke email struktur.mysql@gmail.com.
Previous
Next Post »