VIEWS adalah tabel virtual yang tidak menyimpan datanya sendiri tetapi menampilkan data yang disimpan di tabel lain. Dengan kata lain, VIEWS tidak lain adalah SQL Query. Tampilan dapat berisi semua atau beberapa baris dari tabel. Tampilan MySQL dapat menampilkan data dari satu tabel atau banyak tabel
Sintaks Tampilan MySQL
Sekarang mari kita lihat sintaks dasar yang digunakan untuk membuat tampilan di MySQL
CREATE VIEW `view_name` AS SELECT statement;
DI MANA
- “CREATE VIEW `view_name`” memberi tahu server MySQL untuk membuat objek tampilan di database bernama `view_name`
- "Pernyataan AS SELECT" adalah pernyataan SQL yang akan dikemas dalam Tampilan MySQL. Ini bisa berupa pernyataan SELECT yang dapat berisi data dari satu tabel atau beberapa tabel
Cara Membuat Tampilan di MySQL
Berikut ini adalah proses langkah demi langkah untuk membuat tampilan di MySQL
Langkah 1. Buat tampilan pertama kami menggunakan "myflixdb"
Sekarang mari buat tampilan pertama kita menggunakan "myflixdb" kita akan membuat tampilan sederhana yang membatasi kolom yang terlihat di tabel anggota
Misalkan persyaratan otorisasi menyatakan bahwa departemen akun hanya dapat melihat nomor anggota, nama, dan jenis kelamin dari tabel anggota. Untuk mencapai ini, Anda dapat membuat VIEW -
CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;_Langkah 2. Memperluas simpul tampilan
Menjalankan skrip di atas di meja kerja MySQL terhadap myflixdb dan memperluas node tampilan di database explorer memberi kita hasil sebagai berikut
Perhatikan bahwa objek accounts_v_members tidak terlihat di objek tampilan basis data
Langkah 3. Jalankan pernyataan SELECT
Sekarang mari kita jalankan pernyataan SELECT yang memilih semua bidang dari tampilan seperti yang ditunjukkan pada contoh pembuatan tampilan MySQL di bawah ini
SELECT * FROM `accounts_v_members`;Langkah 4. Jalankan skrip
Menjalankan skrip di atas di meja kerja MySQL terhadap myflixdb memberi kita hasil berikut yang ditunjukkan di bawah ini
membership_number full_names gender 1 Janet Jones Female 2 Janet Smith Jones Female 3 Robert Phil Male 4 Gloria Williams Female 5 Leonard Hofstadter Male 6 Sheldon Cooper Male 7 Rajesh Koothrappali Male 8 Leslie Winkle Male 9 Howard Wolowitz MaleHanya kolom resmi untuk departemen akun yang telah dikembalikan. Detail lain yang ditemukan di tabel anggota telah disembunyikan
Jika kita ingin melihat pernyataan SQL yang membentuk tampilan tertentu, kita dapat menggunakan skrip di bawah ini untuk melakukannya
Menjalankan skrip di atas memberi Anda nama tampilan dan pernyataan SQL SELECT yang digunakan untuk membuat tampilan
Bergabung dan Tampilan di MySQL
Sekarang mari kita lihat contoh yang cukup rumit yang melibatkan banyak tabel dan menggunakan gabungan
Kami akan mengemas JOIN yang dibuat yang mendapatkan informasi dari 3 (tiga) tabel yaitu member, film dan rental film. Di bawah ini adalah skrip yang membantu kami mencapainya
CREATE VIEW `general_v_movie_rentals` AS SELECT mb.`membership_number`,mb.`full_names`,mo.`title`,mr.`transaction_date`,mr.`return_date` FROM `movierentals` AS mr INNER JOIN `members` AS mb ON mr.`membership_number` = mb.`membership_number` INNER JOIN `movies` AS mo ON mr.`movie_id` = mo.`movie_id`;Menjalankan skrip di atas membuat tampilan bernama general_v_movie_rentals di myflixdb kami
Mari sekarang pilih semua bidang dari tabel bernama general_v_movie_rentals
SELECT * FROM `general_v_movie_rentals`;_Menjalankan skrip di atas di meja kerja MySQL terhadap myflixdb memberi kita hasil berikut yang ditunjukkan di bawah ini
membership_number full_names title transaction_date return_date 1 Janet Jones Pirates of the Caribean 4 20-06-2012 28-06-2012 1 Janet Jones Forgetting Sarah Marshal 22-06-2012 25-06-2012 3 Robert Phil Forgetting Sarah Marshal 22-06-2012 25-06-2012 2 Janet Smith Jones Forgetting Sarah Marshal 21-06-2012 24-06-2012 3 Robert Phil X-Men 23-06-2012 28-06-2012Perhatikan bahwa kami tidak perlu menulis kueri GABUNG yang rumit untuk mendapatkan informasi tentang anggota, film, dan detail persewaan film. Kami hanya menggunakan tampilan dalam pernyataan SELECT biasa seperti tabel biasa lainnya. Tampilan dapat dipanggil dari mana saja di sistem aplikasi yang berjalan di atas myflixdb
Menjatuhkan Tampilan di MySQL
Perintah DROP dapat digunakan untuk menghapus tampilan dari database yang tidak lagi diperlukan. Sintaks dasar untuk menjatuhkan tampilan adalah sebagai berikut