Paparan MySQL: Cara Membuat Paparan dari Jadual dengan Contoh

Isi kandungan:

Anonim

Apakah Paparan di MySQL?

PANDANGAN adalah jadual maya yang tidak menyimpan data mereka sendiri tetapi memaparkan data yang disimpan dalam jadual lain. Dengan kata lain, PANDANGAN tidak lain adalah Pertanyaan SQL. Paparan boleh mengandungi semua atau beberapa baris dari meja. Paparan MySQL dapat menunjukkan data dari satu jadual atau banyak jadual.

Sintaks MySQL Views

Sekarang mari kita lihat sintaks asas yang digunakan untuk membuat paparan di MySQL.

CREATE VIEW `view_name` AS SELECT statement;

DI MANA

  • "CREATE VIEW` view_name` " memberitahu pelayan MySQL untuk membuat objek pandangan dalam pangkalan data bernama` view_name`
  • "AS SELECT statement" adalah pernyataan SQL yang akan dikemas dalam Paparan MySQL. Ini boleh menjadi pernyataan SELECT dapat berisi data dari satu tabel atau beberapa jadual.

Cara Membuat Paparan di MySQL

Berikut adalah proses langkah demi langkah untuk membuat paparan di MySQL:

Mari buat pandangan pertama kita menggunakan "myflixdb" kita akan membuat paparan ringkas yang menyekat lajur yang dilihat dalam jadual ahli.

Andaikan syarat kebenaran menyatakan bahawa jabatan akaun hanya dapat melihat nombor, nama dan jantina ahli dari jadual ahli. Untuk mencapai ini, anda boleh membuat PANDANGAN -

CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;

Melaksanakan skrip di atas di meja kerja MySQL terhadap myflixdb dan memperluas node pandangan dalam penjelajah pangkalan data memberikan hasil berikut.

Perhatikan objek account_v_members kini dapat dilihat di objek paparan pangkalan data. Mari sekarang jalankan pernyataan SELECT yang memilih semua medan dari paparan seperti yang ditunjukkan dalam contoh paparan buat MySQL di bawah.

SELECT * FROM `accounts_v_members`;

Melaksanakan skrip di atas di MySQL workbench terhadap myflixdb memberi kita hasil berikut yang ditunjukkan di bawah.

 
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 Male

Hanya lajur yang dibenarkan untuk bahagian akaun yang dikembalikan. Maklumat lain yang terdapat di dalam jadual ahli telah disembunyikan.

Sekiranya kita ingin melihat pernyataan SQL yang membentuk pandangan tertentu, kita boleh menggunakan skrip yang ditunjukkan di bawah untuk melakukannya.

TUNJUKKAN BUAT PANDANGAN `account_v_members`;

Melaksanakan skrip di atas memberi anda nama pandangan dan pernyataan PILIH SQL yang digunakan untuk membuat paparan.

Bergabung dan Pandangan di MySQL

Sekarang mari kita lihat contoh yang agak kompleks yang melibatkan beberapa jadual dan menggunakan gabungan.

Kami akan mengemas JOIN yang dibuat yang mendapat maklumat dari tiga (3) jadual iaitu penyewaan ahli, filem dan filem. Berikut adalah skrip yang menolong kita 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`;

Melaksanakan skrip di atas membuat paparan bernama general_v_movie_rentals di myflixdb kami

Sekarang mari pilih semua medan dari jadual bernama general_v_movie_rentals.

SELECT * FROM `general_v_movie_rentals`;

Melaksanakan skrip di atas di meja kerja MySQL terhadap myflixdb memberi kita hasil berikut seperti yang ditunjukkan di bawah.

 
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-2012

Perhatikan bahawa kami tidak perlu menulis pertanyaan JOIN yang kompleks untuk mendapatkan maklumat mengenai ahli, filem dan perincian sewaan filem. Kami hanya menggunakan pandangan dalam pernyataan SELECT biasa seperti jadual biasa yang lain. Paparan boleh dipanggil dari mana sahaja dalam sistem aplikasi yang berjalan di atas myflixdb.

Menjatuhkan Paparan di MySQL

Perintah DROP dapat digunakan untuk menghapus pandangan dari pangkalan data yang tidak diperlukan lagi. Sintaks asas untuk menjatuhkan pandangan adalah seperti berikut.

DROP VIEW ` general_v_movie_rentals `;

Mengapa menggunakan pandangan?

Anda mungkin ingin menggunakan pandangan terutamanya kerana mengikuti 3 sebab

  • Pada akhirnya, anda akan menggunakan pengetahuan SQL anda, untuk membuat aplikasi, yang akan menggunakan pangkalan data untuk keperluan data. Sebaiknya gunakan PANDANGAN struktur jadual asal dalam aplikasi anda dan bukannya menggunakan jadual itu sendiri. Ini memastikan bahawa semasa anda memfaktorkan semula DB anda, kod warisan anda akan melihat skema orignal melalui paparan tanpa melanggar aplikasi.
  • PANDANGAN meningkatkan kebolehgunaan semula. Anda tidak perlu membuat pertanyaan kompleks yang melibatkan penyertaan berulang kali. Semua kerumitan diubah menjadi satu baris permintaan PANDANGAN penggunaan. Kod padat seperti itu akan lebih mudah disatukan dalam aplikasi anda. Ini akan menghilangkan kemungkinan kesalahan ketik dan kod anda akan lebih mudah dibaca.
  • PANDANGAN membantu dalam keselamatan data. Anda boleh menggunakan paparan untuk menunjukkan hanya maklumat yang dibenarkan kepada pengguna dan menyembunyikan data sensitif seperti nombor kad kredit.

Ringkasan

  • Paparan adalah jadual maya; mereka tidak mengandungi data yang dikembalikan. Data disimpan dalam jadual yang dirujuk dalam pernyataan SELECT.
  • Pandangan meningkatkan keselamatan pangkalan data dengan hanya menunjukkan data yang ditujukan kepada pengguna yang diberi kuasa. Mereka menyembunyikan data sensitif.
  • Pandangan menjadikan kehidupan menjadi mudah kerana anda tidak perlu menulis pertanyaan yang kompleks berulang kali.
  • Anda boleh menggunakan INSERT, UPDATE dan DELETE pada PANDANGAN. Operasi-operasi ini akan mengubah jadual asas PANDANGAN. Satu-satunya pertimbangan adalah bahawa PANDANGAN harus mengandungi semua lajur BUKAN NULL dari jadual yang dirujuknya. Sebaiknya, anda tidak boleh menggunakan PANDANGAN untuk mengemas kini.