Cara Membuat Table Cloning Di MySQL

Pada tutorial MySQL kali ini, kita akan belajar tentang Cara Membuat Table Cloning Di MySQL. Table Cloning biasanya digunakan untuk membuat table backup atau duplikat. Anda dapat men-cloning semua data dan struktur tablenya, ataupun HANYA struktur tablenya saja.

Untuk membuat table cloning, Anda dapat menggunakan perintah CREATE TABLE AS (CTAS).

Sintak Dasar


Di bawah ini adalah sintak dasar dari CREATE TABLE AS di MySQL:

CREATE TABLE clone_table_name AS
SELECT * FROM source_table_name;

Penjelasan sintak:

  • clone_table_name adalah nama table cloning.
  • source_table_name adalah table utama atau source table yang akan di cloning.

Contoh


Sebagai contoh, misalkan Anda telah memiliki table "employee" dengan struktur dan data-data sebagai berikut:

mysql> DESCRIBE employee;
+---------------+---------------+------+-----+---------+-------+
| Field         | Type          | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| employee_id   | varchar(5)    | NO   | PRI | NULL    |       |
| employee_name | varchar(20)   | NO   |     | NULL    |       |
| gender        | char(1)       | NO   |     | NULL    |       |
| address       | varchar(20)   | YES  |     | NULL    |       |
| salary        | decimal(10,0) | YES  |     | NULL    |       |
| departemen    | varchar(5)    | NO   |     | NULL    |       |
+---------------+---------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

Data-data:

mysql> SELECT * FROM employee;
+-------------+---------------+--------+----------+---------+------------+
| employee_id | employee_name | gender | address  | salary  | departemen |
+-------------+---------------+--------+----------+---------+------------+
| 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
| 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
| 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
| 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
| 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
+-------------+---------------+--------+----------+---------+------------+
5 rows in set (0.02 sec)

Dari struktur table dan data-data diatas, coba Anda buat sebuah table cloning dengan nama "employee_clone" yang meng-cloning semua struktur dan data-data dari table "employee" diatas?. Untuk melakukannya, Anda dapat menjalankan perintah di bawah ini:

mysql> CREATE TABLE employee_clone
    -> AS SELECT * FROM employee;
Query OK, 5 rows affected (0.29 sec)
Records: 5  Duplicates: 0  Warnings: 0

Apabila keluar pesan "Query OK", berarti Anda telah sukses meng-cloning table "employee". Untuk membuktikannya, coba Anda tampilkan struktur dan data-data dari table "employee_clone" dengan menjalankan perintah berikut:

mysql> DESC employee_clone;
+---------------+---------------+------+-----+---------+-------+
| Field         | Type          | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| employee_id   | varchar(5)    | NO   |     | NULL    |       |
| employee_name | varchar(20)   | NO   |     | NULL    |       |
| gender        | char(1)       | NO   |     | NULL    |       |
| address       | varchar(20)   | YES  |     | NULL    |       |
| salary        | decimal(10,0) | YES  |     | NULL    |       |
| departemen    | varchar(5)    | NO   |     | NULL    |       |
+---------------+---------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

mysql> SELECT * FROM employee_clone;
+-------------+---------------+--------+----------+---------+------------+
| employee_id | employee_name | gender | address  | salary  | departemen |
+-------------+---------------+--------+----------+---------+------------+
| 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
| 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
| 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
| 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
| 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
+-------------+---------------+--------+----------+---------+------------+
5 rows in set (0.00 sec)

Share this

Related Posts

Previous
Next Post »