Cara Membuat VIEW di MySQL

Cara Membuat VIEW di MySQL

Cara Membuat VIEW di MySQL - VIEW adalah tabel virtual (virtual table) hasil dari sebuah statement Select Query. disebut Tabel Virtual karena Query View sama dengan sebuah tabel yang berisi Kolom / Field dan Data / Record, tetapi view bersifat Read only artinya anda tidak bisa melakukan proses insert data ke view dan tidak dapat melakukan updating data kedalam tabel view. Disamping itu, kita juga bisa melakukan query dengan menggunakan View. namun VIEW yang terdapat didalam database dapat terupdate otomatis apabila tabel utama di update.

Selain Fungsi diatas Query VIEW ini digunakan untuk menyederhanakan pengambilan data, dimana query yang aslinya sangat panjang dijadikan sederhana apalagi syntax yang menggunakan Fungsi JOIN.

Tujuan dari pembuatan VIEW adalah untuk kenyamanan (mempermudah penulisan query) agar nantinya kita tidak menulis query berulang kali apalagi query yang sangat panjang seperti RIGHT OUTER JOIN, INNER JOIN, dan LEFT OUTER JOIN, serta berguna untuk keamanan dan  menyembunyikan beberapa kolom yang bersifat rahasia misalkan kolom No telp, Alamat Lengkap, atau dalam beberapa kasus bisa digunakan untuk mempercepat proses menampilkan data (terutama jika kita akan menjalankan query tersebut secara berulang).

Syntax VIEW
CREATE VIEW nama_view AS SELECT nama_kolom (dst..) FROM nama_tabel WHERE kondisi;

Menyiapkan Tabel Dosen
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    |
| 202219  | Bisma            | P    | Jl. Pancasila |
| 202220  | Boby             | L    | Jl. Pancasila |
| 202221  | Clara Astuti     | P    | Jl. Garuda    |
| 202222  | Achmad Rizali    | L    | Jl. Garuda    |
| 202223  | Arianto          | L    | Jl. Garuda    |
| 202224  | Arham muhammad   | L    | Jl. Garuda    |
+---------+------------------+------+---------------+
24 rows in set (0.08 sec)

Membuat VIEW dengan alamat Jl. Garuda
mysql> CREATE VIEW mahasiswa_garuda AS SELECT*FROM mahasiswa WHERE alamat="JL. Garuda";
Query OK, 0 rows affected (0.51 sec)

mysql> show tables;
+-------------------+
| Tables_in_idmysql |
+-------------------+
| daftar_dosen      |
| daftar_peserta    |
| dosen_site        |
| mahasiswa         |
| mahasiswa_garuda  |
| mata_kuliah       |
+-------------------+
6 rows in set (0.00 sec)

mysql> select*from mahasiswa_garuda;
+---------+----------------+------+------------+
| 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 |
| 202221  | Clara Astuti   | P    | Jl. Garuda |
| 202222  | Achmad Rizali  | L    | Jl. Garuda |
| 202223  | Arianto        | L    | Jl. Garuda |
| 202224  | Arham muhammad | L    | Jl. Garuda |
+---------+----------------+------+------------+
11 rows in set (0.04 sec)

mysql> 

Membuat VIEW LEFT OUTER JOIN
Tabel yang saya gunakan adalah tabel yang terdapat di artikel Cara Menggabungkan Tabel MySQL dengan LEFT OUTER JOIN.

mysql> CREATE VIEW view_leftjoin AS SELECT daftar_dosen.nama_dosen,dosen_site.username,dosen_site.password FROM daftar_dosen LEFT OUTER JOIN dosen_site ON daftar_dosen.nip=dosen_site.nip;
Query OK, 0 rows affected (0.13 sec)

mysql> show tables;
+-------------------+
| Tables_in_idmysql |
+-------------------+
| daftar_dosen      |
| daftar_peserta    |
| dosen_site        |
| mahasiswa         |
| mahasiswa_garuda  |
| mata_kuliah       |
| view_leftjoin     |
+-------------------+
7 rows in set (0.00 sec)

mysql> select*from view_leftjoin;
+-----------------+-----------+-------------+
| nama_dosen      | username  | password    |
+-----------------+-----------+-------------+
| Suryadi         | DS@DS0102 | idmysql001  |
| Husain Abdullah | DS@DS0103 | idmy443f2   |
| Rahmat Hidayat  | DS@DS0104 | ddd3432de   |
| Rahman Abdillah | DS@DS0105 | acs3223ffgs |
| Suarni Sukur    | NULL      | NULL        |
| Maemunah        | NULL      | NULL        |
| Sukarya         | NULL      | NULL        |
+-----------------+-----------+-------------+
7 rows in set (0.06 sec)

mysql>

Catatan :
dalam penggunaan VIEW kita tidak perlu menulis Query yang panjang berulang kali untuk menampilkan sebuah data, cukup hanya sekali membuat view.

Sekian artikel Cara Membuat VIEW di 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 »