Bagaimana Cara Membuat, Mengubah, Dan Menghapus View Di MySQL

Apa Itu View?

VIEW adalah tabel virtual (virtual table) hasil dari sebuah statement Select Query. Mengapa View disebut virtual tabel? Jawabannya karena View mirip sebuah tabel yaitu berisi kolom atau field dan record tetapi view bersifat read only yaitu Anda tidak bisa melakukan proses insert data ke view. Disamping itu, kita juga bisa melakukan query dengan menggunakan View.



Catatan:

Data yang ada di View akan selalu up to date seiring dengan data yang ada di tabel.

Membuat View

Untuk membuat sebuah view di MySQL, Anda dapat menggunakan perintah CREATE VIEW. Di bawah ini adalah sintak dasar untuk membuat view di MySQL:

CREATE VIEW nama_view AS
SELECT kolom_1, kolom_2, kolom_n
FROM nama_table
WHERE kondisi;

Di bawah ini adalah langkah-langkah dalam membuat view sebagai bahan latihan.
  1. Buatlah sebuah table KARYAWAN dan isi datanya seperti berikut ini.

    Tabel KARYAWAN

    NIKNamaKode_DepartmentGenderGaji_PokokTunjangan
    0001NursalimITL3000000250000
    0002Naura Krasiva ElsalnaACCOUNTINGP1750000100000
    0003Nani IndriyaniITP2750000200000
    0004Ahmad FathoniHRDL1000000100000
    0005Bayu DirgantaraITL3000000250000

    Script Buat Table

    mysql> CREATE TABLE karyawan (
    -> nik VARCHAR(5) NOT NULL PRIMARY KEY,
    -> nama VARCHAR(50) NOT NULL,
    -> gender CHAR(1) NOT NULL,
    -> department VARCHAR(30) NOT NULL,
    -> gaji_pokok BIGINT(10) NOT NULL,
    -> tunjangan BIGINT(10) NOT NULL
    -> );
    Query OK, 0 rows affected (0.15 sec)

    Script Insert Data

    mysql> INSERT INTO karyawan VALUES('0001','Nursalim','L','IT',3000000,250000);
    Query OK, 1 row affected (0.11 sec)

    mysql> INSERT INTO karyawan VALUES('0002','Naura Krasiva Elsalna','P','ACCOUNTING',1750000,100000);
    Query OK, 1 row affected (0.13 sec)

    mysql> INSERT INTO karyawan VALUES('0003','Nani Indriyani','P','IT',2750000,200000);
    Query OK, 1 row affected (0.06 sec)

    mysql> INSERT INTO karyawan VALUES('0004','Ahmad Fathoni','L','HRD',1000000,100000);
    Query OK, 1 row affected (0.06 sec)

    mysql> INSERT INTO karyawan VALUES('0005','Bayu Dirgantara','L','IT',3000000,250000);
    Query OK, 1 row affected (0.11 sec)

  2. Tampilkan data dari tabel KARYAWAN

    mysql> SELECT * FROM karyawan;
    +------+-----------------------+--------+------------+------------+-----------+
    | nik | nama | gender | department | gaji_pokok | tunjangan |
    +------+-----------------------+--------+------------+------------+-----------+
    | 0001 | Nursalim | L | IT | 3000000 | 250000 |
    | 0002 | Naura Krasiva Elsalna | P | ACCOUNTING | 1750000 | 100000 |
    | 0003 | Nani Indriyani | P | IT | 2750000 | 200000 |
    | 0004 | Ahmad Fathoni | L | HRD | 1000000 | 100000 |
    | 0005 | Bayu Dirgantara | L | IT | 3000000 | 250000 |
    +------+-----------------------+--------+------------+------------+-----------+
    5 rows in set (0.00 sec)

  3. Buatlah sebuah view dengan nama V_KARYAWAN_IT yang mempunyai kolom NIK, Nama, Jenis Kelamin, Gaji Bersih dimana Gaji Bersih adalah Gaji Pokok + Tunjangan dari departement IT.

    mysql> CREATE VIEW V_KARYAWAN_IT AS
    -> SELECT nik, nama, gender "Jenis Kelamin", gaji_pokok+tunjangan "Gaji Bersih"
    -> FROM karyawan
    -> WHERE department = 'IT';
    Query OK, 0 rows affected (0.04 sec)

  4. Tampilkan data dari view V_KARYAWAN_IT dengan menggunakan MySQL command line

    mysql> SELECT * FROM V_KARYAWAN_IT;
    +------+-----------------+---------------+-------------+
    | nik | nama | Jenis Kelamin | Gaji Bersih |
    +------+-----------------+---------------+-------------+
    | 0001 | Nursalim | L | 3250000 |
    | 0003 | Nani Indriyani | P | 2950000 |
    | 0005 | Bayu Dirgantara | L | 3250000 |
    +------+-----------------+---------------+-------------+
    3 rows in set (0.00 sec)


Menampilkan Daftar View

Anda dapat menampilkan daftar atau list view yang ada di database MySQL dengan menggunakan perintah di bawah ini:

mysql> SHOW FULL TABLES IN hr WHERE TABLE_TYPE LIKE 'VIEW';
+---------------+------------+
| Tables_in_hr | Table_type |
+---------------+------------+
| v_karyawan_it | VIEW |
+---------------+------------+
1 row in set (0.00 sec)

Meng-Update View

Anda dapat meng-update view sesuai dengan kebutuhan Anda seperti menambahkan kolom pada view ataupun menambahkan filter pada Where Clause di view tersebut. Untuk mengupdate view, Anda bisa menggunakan perintah CREATE OR REPLACE VIEW.

Di bawah ini adalah sintak dasar untuk mengupdate view yang sudah ada di MySQL:

CREATE OR REPLACE VIEW nama_view AS
SELECT kolom_1, kolom_2, kolom_n
FROM nama_tabel
WHERE kondisi;

Sebagai Latihan, coba Anda modifikasi view V_KARYAWAN_IT diatas dengan menambahkan filter HANYA karyawan yang berjenis kelamin laki-laki saja.

mysql> CREATE OR REPLACE VIEW V_KARYAWAN_IT AS
-> SELECT nik, nama, gender "Jenis Kelamin", gaji_pokok+tunjangan "Gaji Bersih"
-> FROM karyawan
-> WHERE department = 'IT'
-> AND gender = 'L';
Query OK, 0 rows affected (0.04 sec)


Menghapus View (Drop View)

Di bawah ini adalah sintak dasar untuk menghapus view di MySQL

DROP VIEW nama_view;

Contoh:

DROP VIEW V_KARYAWAN_IT;


Sekian tutorial singkat Bagaimana Cara Membuat, Mengubah, Dan Menghapus View Di MySQL. Semoga bermanfaat & Selamat Belajar MySQL.


Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,


~Nursalim~
Naura-Lab.blogspot.com

Comments

Popular posts from this blog

cara menggunakan select cases SPSS

analisis korelasi bivariate dengan SPSS

cara install SPSS 19