Cara Memasukkan Data Ke Dalam Table Di MySQL (Bagian 2)

Pada tutorial sebelumnya, Anda telah belajar tentang Cara Memasukkan Data Ke Dalam Table Menggunakan Insert Statement. Kali ini, kita akan menggunakan Insert statement dimana datanya diambil dari table lain. Tujuannya adalah untuk membackup data sebuah table ke dalam table lain.

Sintak Dasar


Di bawah ini adalah sintak dasar Insert statement menggunakan data dari table lain :

INSERT INTO table_name [(column_name1, column_name2, ... column_nameN)] 
     SELECT column_name1, column_name2, ...column_nameN 
      FROM source_table_name
   [WHERE condition];

Penjelasan sintak:

  • table_name adalah table tujuan dimana data akan di masukkan.
  • source_table_name adalah table asal yang datanya akan diambil untuk dimasukkan ke dalam table tujuan.

Contoh



Misalkan Anda telah memiliki table dengan nama "employee" dengan data-data sebagai berikut:

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.13 sec)

Dari data diatas, buatlah sebuah table dengan nam "employee_pria" dengan menjalankan script berikut ini:

mysql> CREATE TABLE employee_pria(
    -> employee_id VARCHAR(5),
    -> employee_name VARCHAR(20),
    -> salary numeric
    -> );
Query OK, 0 rows affected (0.21 sec)

Selanjutnua, masukkan data kedalam table "employee_pria" diatas, dimana datanya diambil dari table "employee" yang memiliki jenis kelamin atau gender laki-laki.

mysql> INSERT INTO employee_pria
    -> SELECT employee_id, employee_name, salary
    -> FROM employee
    -> WHERE gender = 'L';
Query OK, 2 rows affected (0.07 sec)
Records: 2  Duplicates: 0  Warnings: 0

Selanjutnya, coba Anda tampilkan data dari table "employee_pria" dengan menjalankan select statement berikut:

mysql> SELECT * FROM employee_pria;
+-------------+---------------+---------+
| employee_id | employee_name | salary  |
+-------------+---------------+---------+
| 001         | Nursalim      | 3000000 |
| 003         | Ahmad         | 5000000 |
+-------------+---------------+---------+
2 rows in set (0.00 sec)

Share this

Related Posts

Previous
Next Post »