Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL Buat Tampilan, Ganti Tampilan, dan Jatuhkan Pernyataan Tampilan dengan Contoh

Tampilan SQL adalah tabel virtual atau kumpulan hasil yang dihasilkan oleh kueri SELECT. Tidak seperti tabel fisik, tampilan tidak menyimpan data dalam database. Saat kami menjalankan kueri SELECT untuk mengisi data, kueri tersebut akan mengeksekusi kueri yang membuat tampilan (Definisi tampilan).

Apa itu Tampilan di MySQL

Misalkan Anda memiliki kueri SQL kompleks yang menggunakan beberapa gabungan dan logika bisnis yang kompleks. Anda sering menggunakan kueri ini dalam kode aplikasi. Namun, karena kebutuhan bisnis, Anda harus mengubah logika kueri tersebut. Perubahan yang dibuat dalam kueri harus tercermin di seluruh aplikasi.

Dalam kasus seperti itu, lebih baik untuk membuat tampilan SQL dan merangkum logika bisnis di dalamnya. Selain itu, ketika ingin mengubah definisi kueri, kita dapat mengubah definisi tampilan alih-alih membuat perubahan di aplikasi.

Tampilan juga berlaku untuk menyembunyikan nama dan detail tabel yang sebenarnya. Jika kami menyimpan informasi sensitif pelanggan di tabel dan hanya ingin menampilkan detail utama, kami dapat membuat tampilan.

Artikel ini akan menjelaskan Buat Tampilan , Ganti Tampilan dan Lepaskan Tampilan penggunaan pernyataan di server MySQL.

Contoh Basis Data Penyiapan

Untuk demonstrasi, saya telah menginstal MySQL Server dan membuat database dummy bernama EltechDB . Dalam database itu, saya telah membuat tabel bernama tblemployee .

Kueri berikut membuat EltechDB basis data:

Create database EltechDB;

Kueri berikut membuat tblemployee tabel:

CREATE TABLE tblemployees (
    emp_no      INT             NOT NULL,
    birth_date  DATE            NOT NULL,
    first_name  VARCHAR(14)     NOT NULL,
    last_name   VARCHAR(16)     NOT NULL,
    gender      ENUM ('M','F')  NOT NULL,    
    hire_date   DATE            NOT NULL,
    PRIMARY KEY (emp_no)
);

Saya telah memasukkan beberapa catatan dummy ke tblemployee tabel menggunakan kueri berikut:

INSERT INTO `EltechDB`.`tblemployees` 
VALUES 
(10001,'1953-09-02','Georgi','Facello','M','1986-06-26'),
(10002,'1964-06-02','Bezalel','Simmel','F','1985-11-21'),
(10003,'1959-12-03','Parto','Bamford','M','1986-08-28'),
(10004,'1954-05-01','Chirstian','Koblick','M','1986-12-01'),
(10005,'1955-01-21','Kyoichi','Maliniak','M','1989-09-12'),
(10006,'1953-04-20','Anneke','Preusig','F','1989-06-02'),
(10007,'1957-05-23','Tzvetan','Zielinski','F','1989-02-10'),
(10008,'1958-02-19','Saniya','Kalloufi','M','1994-09-15'),
(10009,'1952-04-19','Sumant','Peac','F','1985-02-18'),
(10010,'1963-06-01','Duangkaew','Piveteau','F','1989-08-24');

Sekarang, mari kita klarifikasi pernyataan untuk mengelola tampilan MySQL.

Cara membuat Tampilan di MySQL

Pernyataan Create View membuat tampilan baru dalam database. Sintaksnya sebagai berikut:

Create View view_name
As
Select * from base_table

Di sini:

  • nama_tampilan adalah nama Tampilan yang diinginkan.
  • Yang pilih * dari adalah kueri yang menghasilkan Tampilan menggunakan base_table . Kueri ditentukan setelah AS kata kunci.

Contoh Sintaks Buat Tampilan MySQL

Misalkan kita ingin membuat tampilan yang mengisi daftar karyawan. Definisi View adalah sebagai berikut:

Create view vwEmployees
as
select * from tblemployees;

Untuk mengakses data View, kita dapat menggunakan query SELECT. Untuk melihat data vwEmployee , jalankan kueri berikut:

mysql> select * from vwEmployees;

Keluaran:

Filter Data Tampilan Menggunakan Klausa WHERE

Kita dapat memfilter output View menggunakan klausa WHERE. Dalam kasus kami, kami ingin mengambil daftar perempuan karyawan dari vwKaryawan . Pertanyaannya adalah sebagai berikut:

mysql> select * from vwEmployees where gender='F';

Output Kueri adalah:

Mari kita ambil contoh lain. Kami ingin mengambil daftar karyawan yang jumlah karyawannya kurang dari 10005 . Pertanyaannya adalah sebagai berikut:

mysql> select * from vwemployees where emp_no<10005;

Keluaran Kueri:

Gunakan Fungsi Agregat pada Tampilan

Kita dapat menggunakan fungsi agregat pada View.

Di sini kami ingin mengisi jumlah karyawan pria dan wanita dari vwEmployees Melihat. Pertama, kami menggunakan fungsi COUNT untuk mendapatkan jumlah karyawan. Kemudian, kami menggunakan klausa GROUP BY untuk mengelompokkan output berdasarkan kolom gender. Pertanyaannya adalah sebagai berikut:

mysql> select gender, count(emp_no)as 'Total Employees' from vwEmployees group by gender;

Keluaran Kueri:

Gunakan Fungsi Tanggal-Waktu pada Tampilan

Kita dapat menggunakan fungsi tanggal-waktu pada output View. Mari kita ambil daftar karyawan yang tahun bergabungnya lebih besar atau sama dengan 1990. Pertanyaannya adalah sebagai berikut:

mysql> select * from vwemployees where Year(hire_date)>=1990;

Keluaran kueri:

Gunakan Fungsi Aliran Kontrol pada Tampilan

Kita dapat menggunakan fungsi CASE atau IF pada output View.

Kami mencetak nilai gender dalam beberapa format yang berarti. Keluaran kolom jenis kelamin yang dikembalikan oleh Tampilan adalah M atau F. Alih-alih mencetak M, kueri harus menampilkan Pria . Demikian pula, alih-alih mencetak F, kueri harus mengembalikan Perempuan . Pertanyaannya adalah sebagai berikut:

mysql> Select first_name, last_name, case when gender='M' then 'Male' when gender ='F' then 'Female' end as 'Gender', hire_date from vwEmployees;

Keluaran kueri:

Baca selengkapnya cara membuat tampilan di SQL.

Ganti Pernyataan Tampilan

REPLACE VIEW digunakan untuk mengubah definisi tampilan. Kata kunci CREATE VIEW dan REPLACE VIEW digunakan bersama. Sintaksnya sebagai berikut:

Create or replace View view_name
As
Select * from base_table

Di sini:

  • Membuat atau mengganti Tampilan: Kata kunci ini berfungsi untuk membuat atau mengganti Tampilan yang ada. Ketika kita menjalankan pernyataan create atau replace view, MySQL memeriksa apakah itu ada di database. Jika Tampilan ada, itu mengubah definisi Tampilan menggunakan kueri yang ditentukan setelah kata kunci AS. Jika Tampilan tidak ada, tampilan baru akan dibuat menggunakan kueri yang ditentukan setelah kata kunci AS.
  • nama_tampilan adalah nama Tampilan yang diinginkan.
  • Yang pilih * dari adalah kueri yang digunakan untuk menghasilkan Tampilan menggunakan base_table . Kueri ditentukan setelah AS kata kunci.

Catatan: Buat atau Ganti kata kunci tampilan buat tampilan baru atau ubah definisi Tampilan yang ada.

Tulis nama View di 'nama_database'.'nama_tampilan' format . Jika Anda tidak menentukan database, Anda mungkin akan membuat Tampilan di database yang berbeda.

Contoh Pernyataan Tampilan MySQL CREATE atau MySQL REPLACE View

Kami hanya ingin menampilkan nama depan, nama belakang, dan jenis kelamin karyawan. Juga, kami ingin memberikan nama yang sesuai untuk kolom. Misalnya, nama_depan dan nama_belakang nilai kolom harus digabungkan, dan nama kolom harus nama karyawan. Kueri SQL harus sebagai berikut:

mysql> create or replace view vwEmployees(EmployeeName,gender) as select concat(first_name, " ",last_name),gender from tblEmployees; 

Jalankan kueri SELECT berikut untuk melihat data dari vwEmployees :

mysql> select * from vwEmployees

Keluaran kueri:

Seperti yang Anda lihat, nama_depan dan nama_belakang nilai digabungkan dalam EmployeeName kolom yang menunjukkan bahwa definisi Tampilan telah diperbarui.

Pernyataan Tampilan MySQL DROP

Kata kunci DROP View berfungsi untuk menjatuhkan View dari database. Sintaksnya sebagai berikut:

Drop View ‘database_name’.’view_name’

Dalam sintaks, view_name adalah nama Tampilan yang ingin Anda hapus.

Mari kita tinggalkan vwEmployee Lihat menggunakan pernyataan DROP View. Jalankan kueri berikut:

mysql> DROP VIEW `eltechdb`.`vwemployees`;

Untuk memverifikasi bahwa Tampilan telah dihapus, jalankan kueri berikut:

mysql> SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.tables WHERE TABLE_TYPE LIKE 'VIEW' and table_schema='EltechDB';

Keluaran:

Kueri mengembalikan nol baris yang menunjukkan bahwa Tampilan telah dihapus.

Ringkasan

Artikel ini menjelaskan dan mendemonstrasikan tampilan MySQL dan cara membuat dan mengelola tampilan tersebut. Itu juga mengklarifikasi penggunaan pernyataan CREATE VIEW, REPLACE View, dan DROP View. CREATE View digunakan untuk membuat view, REPLACE View mengubah definisi View, dan DROP View menghapus View.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hapus Baris Duplikat di MySQL (Abaikan Kunci Utama)

  2. Cara Meningkatkan Koneksi Maks di MySQL

  3. Cara Memantau Database MySQL/MariaDB menggunakan Netdata di CentOS 7

  4. Bisakah saya menggabungkan beberapa baris MySQL menjadi satu bidang?

  5. Fungsi MySQL POW() – Meningkatkan Nilai ke Kekuatan Nilai Lain