11/13/2015

Cara Membuat, Menggunakan, Dan Menghapus View Di MySQL

Pada tutorial kali ini, kita akan belajar tentang Cara Membuat, Menggunakan, Dan Menghapus View Di MySQL.

View adalah salah satu object di database yang berupa virtual table(table bayangan) yang merupakan hasil dari query dari sebuah atau beberapa table. Dikatakan sebagai virtual table, karena View mirip sebuah table yaitu memiliki sebuah kolom, tetapi view terbentuk dari sebuah query dari sebuah atau beberapa table.

Data yang terdapat di dalam sebuah view, akan secara otomatis terupdate ketika ada sebuah perubahan pada table yang menjadi referensi dari view tersebut.

Membuat View


Untuk membuat atau mengubah sebuah View di MySQL, Anda dapat menggunakan perintah CREATE OR REPLACE VIEW seperti sintak di bawah ini:

CREATE [OR REPLACE] VIEW view_name AS
  SELECT columns
  FROM tables
  WHERE conditions;


Menggunakan View


Untuk menggunakan View, Anda dapat menggunakan Select statement seperti sintak dasar di bawah ini:

SELECT * FROM view_name;


Menghapus View


Anda dapat menghapus sebuah View yang sudah ada di database  dengan menggunakan perintah DROP VIEW seperti sintak di bawah ini:

DROP VIEW [IF EXISTS] view_name;


Contoh


Asumsikan Anda telah memiliki sebuah table "tbl_pegawai" dengan data-data sebagai berikut:

mysql> SELECT * FROM tbl_pegawai;
+------------+------------------+---------------+----------+------------+------------+
| id_pegawai | nama_pegawai     | jenis_kelamin | gaji     | alamat     | departemen |
+------------+------------------+---------------+----------+------------+------------+
|          1 | Nursalim         | L             |  1000000 | Brebes     | IT         |
|          2 | Naura Krasiva    | P             |  1500000 | Tegal      | FIN        |
|          3 | Nurul Anawariyah | P             |  2000000 | Pemalang   | HRD        |
|          4 | Achmad Fathoni   | L             |  3000000 | Batang     | IT         |
|          5 | Nurul Hikmah     | P             |  9000000 | Pekalongan | DIR        |
|          6 | Iskiyati         | P             |  3000000 | Semarang   | ACC        |
|          7 | Dodi Al Farizi   | L             |  3000000 | Kendal     | FIN        |
|          8 | Susanto          | L             |  4500000 | Cilacap    | MKT        |
|          9 | Susanti          | P             | 43500000 | Banyumas   | MKT        |
|         10 | Doni Nugroho     | L             |  3750000 | Pemalang   | HRD        |
+------------+------------------+---------------+----------+------------+------------+
10 rows in set (0.00 sec)


Dari table diatas,
  • Buatlah sebuah View dengan nama "view_pegawai_laki2" yang berisi semua data pegawai laki-laki.

    mysql> CREATE OR REPLACE VIEW view_pegawai_laki2 AS
        -> SELECT * FROM tbl_pegawai
        -> WHERE jenis_kelamin = 'L';
    Query OK, 0 rows affected (0.19 sec)
    
    
  • Tampilkan data dari View "view_pegawai_laki2" yang telah Anda buat diatas.

    mysql> SELECT * FROM view_pegawai_laki2;
    +------------+----------------+---------------+---------+----------+------------+
    | id_pegawai | nama_pegawai   | jenis_kelamin | gaji    | alamat   | departemen |
    +------------+----------------+---------------+---------+----------+------------+
    |          1 | Nursalim       | L             | 1000000 | Brebes   | IT         |
    |          4 | Achmad Fathoni | L             | 3000000 | Batang   | IT         |
    |          7 | Dodi Al Farizi | L             | 3000000 | Kendal   | FIN        |
    |          8 | Susanto        | L             | 4500000 | Cilacap  | MKT        |
    |         10 | Doni Nugroho   | L             | 3750000 | Pemalang | HRD        |
    +------------+----------------+---------------+---------+----------+------------+
    5 rows in set (0.03 sec)
    
    
  • Tampilkan daftar view yang ada di database

    Untuk menampilkan daftar view yang ada di sebuah database, Anda dapat menggunakan query di bawah ini:

    mysql> SHOW FULL TABLES IN hr WHERE TABLE_TYPE LIKE 'VIEW';
    +--------------------+------------+
    | Tables_in_hr       | Table_type |
    +--------------------+------------+
    | view_pegawai_laki2 | VIEW       |
    +--------------------+------------+
    1 row in set (0.14 sec)
    
    

    Atau Anda juga dapat menggunakan query di bawah ini:

    mysql> SELECT TABLE_NAME FROM information_schema.`TABLES` WHERE TABLE_TYPE LIKE 'VIEW' AND TABLE_SCHEMA LIKE 'hr';
    +--------------------+
    | TABLE_NAME         |
    +--------------------+
    | view_pegawai_laki2 |
    +--------------------+
    1 row in set (0.14 sec)
    
    
  • Hapus View "view_pegawai_laki2" yang telah Anda buat diatas

    mysql> DROP VIEW IF EXISTS view_pegawai_laki2;
    Query OK, 0 rows affected (0.00 sec)
    
    

Sekian tutorial singkat tentang Cara Membuat, Menggunakan, Dan Menghapus View Di MySQL. Semoga bermanfaat & Happy Learning MySQL.

Salam,

Nursalim

No comments:

Post a Comment