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