Kamis, 19 Oktober 2023

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
    0001AdityaITL3000000250000
    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','Aditya','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 | Aditya                | 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 | Aditya          | 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,

Kamis, 12 Oktober 2023

Beberapa klausa dalam MySQL yang digunakan untuk mengurutkan, memfilter, mencari dan juga menghitung data

  1. Klausa SELECT: Klausa ini digunakan untuk memilih kolom tertentu dari tabel.

    sql
    SELECT nama, usia FROM karyawan;
  2. Klausa WHERE: Klausa ini digunakan untuk memfilter data berdasarkan kondisi tertentu.

    sql
    SELECT nama, usia FROM karyawan WHERE usia > 30;
  3. Klausa ORDER BY: Klausa ini digunakan untuk mengurutkan hasil query berdasarkan kolom tertentu.

    sql
    SELECT nama, usia FROM karyawan ORDER BY usia DESC;
  4. Klausa GROUP BY: Klausa ini digunakan untuk mengelompokkan data berdasarkan nilai tertentu.

    sql
    SELECT departemen, COUNT(*) as jumlah_karyawan FROM karyawan GROUP BY departemen;
  5. Klausa HAVING: Klausa ini digunakan untuk menerapkan kondisi pada hasil dari GROUP BY.

    sql
    SELECT departemen, COUNT(*) as jumlah_karyawan FROM karyawan GROUP BY departemen HAVING COUNT(*) > 10;
  6. Klausa LIKE: Klausa ini digunakan untuk mencari data berdasarkan pola teks.

    sql
    SELECT nama FROM karyawan WHERE nama LIKE 'John%';
  7. Klausa DISTINCT: Klausa ini digunakan untuk mengambil nilai unik dari kolom tertentu.

    sql
    SELECT DISTINCT departemen FROM karyawan;
  8. Klausa COUNT: Klausa ini digunakan untuk menghitung jumlah baris atau item tertentu.

    sql
    SELECT COUNT(*) as total_karyawan FROM karyawan;
  9. Klausa SUM: Klausa ini digunakan untuk menjumlahkan nilai dalam kolom.

    sql
    SELECT SUM(gaji) as total_gaji FROM karyawan;
  10. Klausa LIMIT: Klausa ini digunakan untuk membatasi jumlah baris yang dikembalikan oleh query.

    sql
    SELECT nama, usia FROM karyawan LIMIT 10;

Itu adalah beberapa contoh klausa dalam MySQL yang dapat digunakan untuk mengurutkan, memfilter, mencari, dan menghitung data. Anda dapat menggabungkan klausa-klausa ini dalam query SQL yang lebih kompleks untuk memenuhi kebutuhan pengolahan data Anda.

Backup dan Restore Mysql Database

  MySQL adalah salah satu sistem manajemen basis data yang paling populer dan sering digunakan di dunia. Dalam pengelolaan database, backup ...