Rabu, 05 Juni 2013

Jenis Query pada MySql

    MySql query adalah perintah atau instruksi yang dapat digunakan untuk mengelola database atau tabel dalam database mysql. Query lebih dikenal dengan sebutan SQL (Structured Query Language) yang artinya adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional.

Bahasa ini merupakan bahasa standar yang digunakan dalam mengelola basis data atau database. Banyak database modern seperti mysql, sql server, oracle menggunakan bahasa SQL.  Secara umum ada 3 jenis query pada mysql yaitu DDL, DML dan DCL.

Mari kita bahas satu persatu.

1.  Query DDL (Data Definition Language).

    DDL adalah kumpulan perintah SQL yang digunakan untuk membuat (CREATE), mengubah (ALTER, RENAME) dan menghapus (DROP)     struktur dan definisi dari objek-objek database seperti database, tabel, view, index, function, trigger dan field.

    Query Jenis DDL, antara lain :
    a.  CREATE
        1)   CREATE DATABASE digunakan untuk membuat database baru.
             Contoh :
             a)  Syntax untuk membuat Database
                 Create database nama_database
             b)  Syntax untuk membuat table
                 Create table namatabel (namakolom1 typedata1,namakolom2 typedata2, namakolom3 typedata3

                 Type data dapat berupa char(), int, numerik dan sebagainya sesuai dengan nama kolom.

        2)   CREATE VIEW merupakan bentuk alternatif penyajian data dari satu tabelatau lebih, beberapa tujuan membuat                  view adalah meningkatkan keamanan data serta penyederhanaan bagi para pengguna agar tidak mengulang query              yang sama.
             Contoh :
                 Create view namaview (kolom1, kolom2, ...) as select statement from namatabel [with check option]
                     
             Keterangan :
                 namaview : nama view yang dibuat
                 Column : nama atribut untuk view
                 statement : atribut yang dipilih dari tabel database
                 namatabel : nama tabel yang ada pada basis data
     
        3)   CREATE FUNCTION digunakan untuk membuat function dalam database
             Contoh :
                 create function nama_function (kolom1 varchar(15),  kolom2 varchar(15))

        4)   CREATE INDEX digunakan untuk membuat index
             Contoh :
             -  create [unique] index namaindex on namatabel (namakolom)
             -  CREATE INDEX id_index ON NamaTable(kolomtabel_index)

                     
        5)   CREATE PROCEDURE digunakan untuk membuat prosedure dalama database
             Contoh :
                CREATE PROCEDURE nama_procedure (parameter_procedure())routine_body

        6)   CREATE TRIGGER digunakan untuk membuat trigger (perintah sql yang dikerjakan otomatis pada event tertentu)
             Contoh :
             -  CREATE [DEFINER = { user | CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name
                FOR EACH ROW trigger_body
             -  CREATE TRIGGER NamaTrigger BEFORE UPDATE ON NamaTable
                 
                Keterangan :
                    trigger_name : nama trigger.
                    trigger_time : kapan kita mengeksekusi trigger,
                                   apakah sebelum atau sesudah perubahan pada row data table.
                                   Jadi pilihannya adalah AFTER atau BEFORE.
                    trigger_event : merupakan event atau peristiwa yang
                                    menyebabkan trigger dilakukan. Pilihan event tersebut
                                    adalah INSERT, UPDATE, DELETE.
                    tbl_name : nama table.
                    trigger_body : statement-statement perintah SQL yang akan
                                   dilakukan. Jika perintahnya lebih dari satu maka gunakan
                                   dalam blok statement BEGIN ... END.
                 Jika DEFINER dispesifikasikan maka kita memutuskan trigger tersebut dijalankan
                 hanya oleh user tertentu (dalam format penulisan user@host).
                 Jika tidak dispesifikasikan, maka user yang melakukan perubahan
                 (CURRENT_USER) adalah pilihan default.
                 Sesuai namanya, OLD digunakan untuk referensi sebelum perubahan dan NEW untuk referensi sesudah                  perubahan.

    b.  ALTER, RENAME
        1)  ALTER DATABASE digunakan untuk mengubah pengaturan database
            Contoh :
               ALTER DATABASE nama_database CHARACTER SET = 'binary';

        2)  ALTER FUNCTION digunakan untuk mengubah function
            Contoh :
               CREATE FUNCTION nama_function(str CHAR(20))

        3)  ALTER PROCEDURE digunakan untuk mengubah procedure
            Contoh :
               ALTER PROCEDURE Sproc SQL SECURITY DEFINER;

        4)  ALTER TABLE digunakan untuk mengubah susunan dan pengaturan table
            Contoh :
               -  Alter table namatabel Modify (namakolom typekolom) Untuk mengganti type kolom dan nama kolom.
               -  Alter table namatabel add (namakolom type kolom[[before, namakolom]]) menambah kolom.
               -  Alter table namatabel drop (namakolom typekolom) untuk menghapus kolom pada sebuah tabel.

        5)  ALTER VIEW digunakan untuk mengubah pengaturan laporan
            Contoh :
               -  ALTER VIEW Nama_View(kolom1, kolom2, kolom3) AS SELECT  kolom1, kolom2, kolom3 FROM Nama_Table
                  where kondisi
           -  View  Nama_View

        6)  RENAME TABLE digunakan untuk mengubah nama table
            Contoh :
               ALTER TABLE nama_table_lama RENAME nama_table_lama

    c.  DROP
        1)  DROP DATABASE digunakan untuk menghapus database
            Contoh :
               DROP database NamaDatabase
        2)  DROP FUNCTION digunakan untuk menghapus function
            Contoh :
               DROP FUNCTION NamaDatabase.NamaFunction
        3)  DROP INDEX digunakan untuk menghapus index
            Contoh :
               DROP INDEX indexname ON tablename
        4)  DROP PROCEDURE digunakan untuk procedure
            Contoh :
               DROP procedure NamaDatabase.NamaProcedure
        5)  DROP TABLE digunakan untuk menghapus table
            Contoh :
               DROP table NamaTable
        6)  DROP TRIGGER digunakan untuk menghapus trigger
            Contoh :
               DROP TRIGGER NamaTrigger
        7)  DROP VIEW digunakan untuk menghapus format laporan
            Contoh :
               DROP view NamaView

2.  Query DML (Data Manipulation Language)
    DML adalah kependekan dari Data Manipulation Language. DML adalah kumpulan perintah SQL yang berhubungan dengan proses mengolah dan memanipulasi data dalam table. DML tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.
Query Jenis DML
    a.  SELECT digunakan untuk menampilkan nilai atau record yang di pilih
        Contoh :
           -  Select namakolom from namatabel
        * = digunakan untuk pilihan semua kolom
           -  Select * from namatabel

    b.  INSERT digunakan untuk menambah nilai pada suatu table
        Contoh :
           insert into namatabel values (‘value1’, ‘value2’,’ ...’)
           keterangan : value adalah nilai yang ingin dimasukkan ke dalam kolom

    c.  UPDATE digunakan untuk mengubah data yang sudah ada
        Contoh :
           Update namatabel SET namakolom = recordbaru where kondisi
           keterangan recordbaru di ubah sesuai dengan nama nilai baru yang akan di ubah

    d.  DELETE digunakan untuk menghapus data
        Contoh :
           DELETE namakolom from namatabel where kondisi

        Variasi penggunaan jenis query DML lebih banyak karena berhubungan dengan data dalam satu atau banyak tabel         database. Setiap kasus manipulasi data akan menciptakan susunan baru dengan perintah dasar yang sama.

3.   Query DCL (Data Control Language)
     Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya.
     a.  GRANT
         Perintah ini digunakan untuk memberikan hak / izin akses oleh administrator (pemilik utama) server kepada user      (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah      (UPDATE) dan hak khusus berkenaan dengan sistem databasenya.
         Contoh :
            -  Grant privilages on namatabel to namapengguna
            -  GRANT SELECT, INSERT, DELETE ON database TO username@'localhost' IDENTIFIED BY 'password'
         artinya memberikan izin akses kepada namapengguna

     b.  REVOKE
         yaitu untuk mencabut izin akses kepada pengguna yang telah di beri izin akses
         Contoh :
            REVOKE privileges ON namatabel from namapengguna

Semua jenis query mysql ini dapat digunakan dalam pemrograman web seperti PHP.
Semoga Bermanfaat




2 komentar:

  1. Terimakasih Infonya,saya baru mengerti jenis - jenis query dan kegunaanya pada mysql, setelah membaca blog ini,oyah DROP TRIGGER NamaTrigger ini sebagai apa dan kegunaanya apa ka pada mysql ?

    Kungjungi Website kampus saya http://www.atmaluhur.ac.id

    dan Website saya https://ernaningsih.mahasiswa.atmaluhur.ac.id

    BalasHapus