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)