Jumat, Desember 23, 2011

DML dan DDL


DML ( Data Manipulation Language )
DML adalah perintah-perintah yang digunakan untuk mengoperasikan atau memanipulasi isi database. SQL menyediakan 4 perintah DML yaitu Select, insert, update, dan delete.

  • INSERT
Syntax  : INSERT INTO nama_table [(nama_kolom,..)] VALUES   
                            (data1,...);

Contoh  : INSERT INTO MKUL VALUES (‘KK222’,’BERKAS Akses’,2); 
           
Atau 
                        INSERT INTO `MKUL` (`KDMK`,`MTKUL`,`SKS`) VALUES
                        (‘KK222’,’BERKAS Akses’,2),
                        (‘KK333’,’BERKAS Akses’,3),
                        (‘...’,’…’,’…);

  • UPDATE
Syntax   : UPDATE nama_tabel SET nama_kolom=ekspresi
                             WHERE kondisi;

Contoh  :
1. Ubah alamat menjadi depok untuk mahasiswa yang memiliki
     NPM ‘12100748’
UPDATE MHS SET Alamat=’Depok’ WHERE
NPM=’12100748’;

2. Ubah nilai mid dengan menambahkan nilai 10 untuk kode
     mata kuliah ‘KK021’
UPDATE NILAI SET MID+10 WHERE KDMK=’KK021’;

  • DELETE
Syntax  : DELETE FROM nama_table [WHERE kondisi];

Contoh  : DELETE FROM NILAI WHERE NPM=’12100748’ AND 
                            KDMK=’KK021’;


  • SELECT

Syntax   : SELECT [(DISTINCT)] nama_kolom
                            FROM nama_table
                            [WHERE kondisi]
                            [GROUP BY nama_kolom]
                            [HAVING kondisi]
                            [ORDER BY nama_kolom [ASC/DESC]];

Contoh: 

- Satu table (simple query)
    Tampilkan semua data mahasiswa
    SELECT NPM,Nama,Alamat,Kota FROM MHS;     
    atau     SELECT * FROM MHS; 

    Tampilkan mata kuliah yang SKSnya 2
    SELECT MTKUL FROM MKUL WHERE SKS=2;

    Tampilkan semua data nilai untuk yang memperoleh nilai mid  sekurang-kurangnya 60 atau nilai final diatas 75
    SELECT * FROM NILAI WHERE MID>=60 OR FINAL>75;

    Tampilkan npm, kode mata kuliah dan nilai mid untuk nilai mid antara 70 sampai dengan 100
    SELECT NPM,KDMK,MID FROM NILAI WHERE BETWEEN 70 AND 100;
               
    Tampilkan nama mahasiswa yang diawali denga huruf ‘P’
    SELECT Nama FROM MHS WHERE Nama LIKE ‘P%’;

    Tampilkan nama mahasiswa untuk nama mahasiswa yang tidak mengandung unsur huruf ‘a’
    SELECT Nama FROM MHS WHERE Nama NOT LIKE ‘%a%’;

    Tampilkan nama mahasiswa untuk nama mahasiswa yang karakter keduanya huruf ‘u’   4
    SELECT Nama FROM MHS WHERE Nama LIKE ‘_U%’;

    Tampilkan alamat mahasiswa, dimana alamat yang sama hanya ditampilkan satu kali saja.
    SELECT DISTINCT Alamat FROM MHS;

    Tampilkan semua data mahasiswa dengan nama terurut dari ‘z’ ke ‘a’
    SELECT * FROM MHS ORDER BY Nama DESC;


    Tampilkan alamat dan jumlah mahasiswa yang bertempat tinggal dialamat tersebut
    SELECT Alamat, COUNT(*) FROM MHS GROUP BY Alamat; 

    Tampilkan alamat dan jumlah mahasiswa yang bertempat tinggal pada alamat yang jumlahnya lebih dari 1
    SELECT Alamat, COUNT (*) FROM MHS GROUP BY ALAMAT
    HAVING COUNT (*) > 1;

    Tampilkan nilai mid tertinggi dan terendah untuk mata kuliah ‘KD132’
    SELECT MAX(MID), MIN(MID) FROM NILAI WHERE KDMK=’KD
    132’;

    Tampilkan rata-rata dan jumlah nilai final mata kuliah ‘KD132’
    SELECT AVG(FINAL), SUM(FINAL) FROM NILAI WHERE
    KDMK=’KD132’;
                - lebih dari 1 tabel

      1.      Equi Join
      Digunakan untuk menampilkan lebih dari satu table.
      Syntax : Select nama_table1.nama_kolom, nama_table2.nama_kolom
        from nama_table1, nama_table2 where
        nama_table1.kunci_utama=nama_table2.kunci_asing;

      Contoh : Select mahasiswa.nama, jurusan.nama_jurusan from mahasiswa,
          jurusan where mahasiswa.kd_jurusan=jurusan.kd_jurusan;

      2.      Inner Join
      Digunakan untuk menampilkan data dari dua table yang berisi data sesuai dengan syarat di belakang on (tidak boleh null), dengan kata lain semua data dari table kiri mendapat pasangan data dari table sebelah kanan.

      Syntax : select table1.nama_kolom, table2.nama_kolom, . . . from
        table1 inner join table2 on
        table1.kunci_utama=table2.kunci_asing;

      Contoh : Select mahasiswa.nama, jurusan.nama_jurusan from
       mahasiswa inner join jurusan on
       mahasiswa.kd_jurusan=jurusan.kd_jurusan;



      3.      Left Join
      Digunakan untuk menampilkan semua data dari table sebelah kiri perintah left join beserta pasangannya dari table sebelah kanan. Meskipun terdapat data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.

      Syntax : select table1.nama_kolom, table2.nama_kolom, . . . from
        table1 left join table2 on
        table1.kunci_utama=table2.kunci_asing;

      Contoh : Select mahasiswa.nama, jurusan.nama_jurusan from
       mahasiswa left join jurusan on
       mahasiswa.kd_jurusan=jurusan.kd_jurusan;


      4.      Right Join
      Digunakan untuk menampilkan semua data dari table sebelah kanan perintah right join beserta pasangannya dari table sebelah kiri. Meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.

      Syntax : select table1.nama_kolom, table2.nama_kolom, . . . from
        table1 right join table2 on
        table1.kunci_utama=table2.kunci_asing;

      Contoh : Select mahasiswa.nama, jurusan.nama_jurusan from
       mahasiswa right join jurusan on
       mahasiswa.kd_jurusan=jurusan.kd_jurusan;

      5.      Union
      Digunakan untuk memilih informasi yang berhubungan dari dua table, mirip dengan perintah join. Namun, ketika menggunakan perintah union, tipe data semua kolom yang dipilih harus sama. Union hanya memunculkan nilai unik.

      Syntax : Pernyataan1
                    UNION
                    Pernyataan2

      Contoh : SELECT Nama Depan FROM MAHASISWA
                     UNION
                     SELECT NamaDepan FROM MAHASISWA2




      DDL ( Data Definition Language )
                  DDL adalah kumpulan perintah SQL yang dapat digunakan untuk membuat dan mengubah struktur dan definisi tipe data dari objek-objek database seperti tabel, index, trigger, view, dan lain-lain.

      Statement DDL
      Create database, drop database, Create table, drop table, alter table, Create index, drop ndex, Create view, drop view.

      Contoh Penerapan :
      • Create database : untuk membuat database.
      Syntax  : CREATE DATABASE nama_db;

      Contoh  : CREATE DATABASE Perkuliahan;

      • Create table : untuk membuat table.
      Syntax  : CREATE TABLE nama_tabel
                                (nama_kolom1, type_kolom1,
                                nama_kolom2, type_kolom2,…);

      Contoh  : CREATE TABLE MHS
                                          (NPM char(8) not null,
                                          Nama char(25) not null,
                                           Alamat char(30) not null);
      Ket : Not null bersifat optional.


      • Create index : untuk membuat index.

      Syntax  : CREATE [UNIQUE] INDEX nama_index ON 
                                          nama_tabel (nama_kolom);

      Contoh  : CREATE INDEX KRSx ON KRS(Kd_mk);
      Ket : Spesifikasi unique akan menolak key yang sama dalam file.

      • Create view : untuk membuat view.
      Syntax  : CREATE VIEW view_name [(column1, column2,… )]
                                          AS SELECT statement FROM table_name
                                           [WITH CHECK OPTION];

      Contoh  : CREATE VIEW MHSv AS SELECT * FROM MHS;
      Ket :    View_name  : nama view yang akan dibuat.
                              Column    : nama atribut untuk view.
                              Statement  : atribut yang akan dipilih dari table basis data
                              Table_name  : nama table basis data.
      • ALTER
      -          Menambahkan kolom baru pada table
      Syntax : ALTER TABLE namatabel ADD fieldbaru tipe
      -          Mengubah tipe data atau lebar kolom pada table
      Syntax : ALTER TABLE namatabel MODIFY COLUMN field tipe
      -          Mengubah nama kolom
      Syntax : ALTER TABLE namatabel CHANGE COLUMN
         nama_lama_kolom nama_baru_kolom tipedatanya
      -          Menghapus kolom pada table
      Syntax : ALTER TABLE namatabel DROP COLUMN namakolom
      • DROP
      Digunakan untuk menghapus table
      Syntax : DROP TABLE namatabel;

      2 komentar: