5.23.2012

Jenis-Jenis Perintah SQL


SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query. Merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL.Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi,perintah SQL pada semua software database hampir sama.

Terdapat 3 (tiga) jenis perintah SQL, yaitu :
1. DDL atau Data Definition Language
   DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam 
   hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
        CREATE
        ALTER
        RENAME
        DROP
2. DML atau Data Manipulation Language
   DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record
   dalam table. Perintah SQL yang termasuk dalam DML antara lain :
        SELECT
        INSERT
        UPDATE
        DELETE
3. DCL atau Data Control Language
   DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan  hak akses (priviledges).
   Perintah SQL yang termasuk dalam DCL antara lain :
        GRANT
        REVOKE

Membuat, Menampilkan, Membuka dan Menghapus Database

1. Membuat Database

   Sintaks umum SQL untuk membuat suatu database adalah sebagai berikut :
  
   CREATE DATABASE [IF NOT EXISTS] nama_database;

   Bentuk perintah di atas akan membuat sebuah database baru dengan nama nama_database. Aturan
   penamaan sebuah database sama seperti aturan penamaan sebuah variabel, dimana secara umum nama  
   database boleh terdiri dari huruf, angka dan under-score (_). Jika database yang akan dibuat sudah ada, 
   maka akan muncul pesan error. Namun jika ingin otomatis menghapus database yang lama jika sudah  
   ada, aktifkan option IF NOT EXISTS.
   Berikut ini contoh perintah untuk membuat database baru dengan nama “penjualan” :
  
   CREATE DATABASE penjualan;

   Jika query di atas berhasil dieksekusi dan database berhasil dibuat, maka akan ditampilkan pesan kurang 
   lebih sebagai berikut :

   Query OK, 1 row affected (0.02 sec)


2. Menampilkan Database

    Untuk melihat database yang baru saja dibuat atau yang sudah ada, dapat menggunakan perintah sebagai
    berikut :

    SHOW DATABASES;

    Hasil dari perintah di atas akan menampilkan semua database yang sudah ada di  MySQL. Berikut ini
    contoh hasil dari query di atas :
   +--------------+
    | Database       |
   +--------------+
    | penjualan       |
    | mysql            |
    | test               |
   +--------------+
    3 rows in set (0.02 sec)

3. Membuka Database

   Sebelum melakukan manipulasi tabel dan record yang berada di dalamnya, kita harus membuka atau
   mengaktifkan databasenya terlebih dahulu. Untuk membuka database “penjualan”, berikut ini querynya :

   USE penjualan;
 
   Jika perintah atau query di atas berhasil, maka akan ditampilkan pesan sebagai berikut :
    Database changed

4. Menghapus Database

   Untuk menghapus suatu database, sintaks umumnya adalah sbb :

   DROP DATABASE [IF EXISTS] nama_database;

   Bentuk perintah diatas akan menghapus database dengan nama nama_database.Jika databasenya ada
   maka database dan juga seluruh tabel di dalamnya akan dihapus. Jadi berhati-hatilah dengan perintah ini!
   Jika nama database yang akan dihapus tidak ditemukan, maka akan ditampilkan pesan  error. Aktifkan
   option IF EXISTS untuk memastikan bahwa suatu database  benar-benar ada.
   Berikut ini contoh perintah untuk menghapus database dengan nama “penjualan” :

   DROP DATABASE penjualan;

Membuat, Mengubah dan Menghapus Table

 1. Membuat Tabel Baru

     Bentuk umum SQL untuk membuat suatu table secara sederhana sebagai berikut :

     CREATE TABLE nama_tabel (
     field1 tipe(panjang),
     field2 tipe(panjang),
      ...
     fieldn tipe(panjang),
     PRIMARY KEY (field_key)
       );

    Bentuk umum di atas merupakan bentuk umum pembuatan tabel yangsudah disederhanakan. Penamaan 
    tabel dan field memiliki aturan yang sama dengan penamaan database.
    Sebagai contoh, kita akan membuat tabel baru dengan struktur sebagai berikut :
    Nama tabel : pelanggan
    No    Nama Field    Tipe    Panjang
    1    id_pelanggan *    Varchar    5
    2    nm_pelanggan     Varchar    30
    3    alamat                 Text    -
    4    telepon               Varchar    20
    5    email                  Varchar    50

   Untuk membuat tabel tersebut di atas, query atau perintah SQL-nya adalah  sebagai berikut :

   CREATE TABLE pelanggan (
   id_pelanggan varchar(5) NOT NULL,
   nm_pelanggan varchar(30) NOT NULL,
   alamat text,
   telepon varchar (20),
   email varchar (50),
   PRIMARY KEY(id_pelanggan)
    );
  Untuk membuat tabel tersebut di atas, query atau perintah SQL-nya adalah sebagai berikut :

  CREATE TABLE pelanggan (
  id_pelanggan varchar(5) NOT NULL,
  nm_pelanggan varchar(30) NOT NULL,
  alamat text,
  telepon varchar (20),
  email varchar (50),
  PRIMARY KEY(id_pelanggan)
  );

  Jika query untuk membuat tabel di atas berhasil dijalankan, maka akan  ditampilkan pesan sebagai berikut :
  Query OK, 0 rows affected (0.16 sec)

  Pada perintah di atas, beberapa hal yang perlu diperhatikan :
  CREATE TABLE merupakan perintah dasar dari pembuatan table.
  pelanggan merupakan nama tabel yang akan dibuat.
  id_pelanggan, nm_pelanggan, alamat, telepon dan email merupakan nama field.
  varchar dan text merupakan tipe data dari field
  NOT NULL merupakan option untuk menyatakan bahwa suatu field tidak  boleh kosong.
  PRIMARY KEY merupakan perintah untuk menentukan field mana yang akan dijadikan primary key 
  pada  tabel.
  5, 10, 30 dan 50 di belakang tipe data merupakan panjang maksimal dari suatu field.
  Untuk tipe data date dan text (juga date dan blob) panjang karakter maksimalnya tidak perlu ditentukan.
  Jangan lupa akhiri perintah dengan titik-koma (;)

  Selanjutnya untuk melihat tabel mhs sudah benar-benar sudah ada atau belum, ketikkan perintah berikut ini :

  SHOW TABLES;

  Perintah di atas akan menampilkan seluruh tabel yang sudah ada dalam suatu database. Contoh hasil dari
  perintah di atas adalah sebagai berikut :

  +---------------------+
   | Tables_in_penjualan |
  +---------------------+
   | pelanggan                |
  +---------------------+
   1 rows in set (0.01 sec)

  Untuk melihat struktur tabel “mhs” secara lebih detail, cobalah perintah  atau query sebagai berikut :

  DESC pelanggan;
  DESC merupakan singkatan dari DESCRIBE (dalam query bisa ditulis lengkap atau hanya 4 karakter
  pertama) dan pelanggan adalah nama tabel yang akan dilihat strukturnya. Dari perintah di atas, akan
 ditampilkan struktur tabel pelanggan sebagai berikut :

  +--------------+-------------+------+-----+---------+-------+
  | Field               | Type             | Null   | Key | Default   | Extra   |
  +--------------+-------------+------+-----+---------+-------+
  | id_pelanggan   | varchar(5)     | NO   | PRI  |               |            |
  | nm_pelanggan | varchar(30)  | NO   |          |               |            |
  | alamat             | text              | YES  |          |  NULL   |            |
  | telepon            | varchar(20) | YES  |          | NULL    |            |
  | email               | varchar(50) | YES  |          | NULL    |            |
  +--------------+-------------+------+-----+---------+-------+
  5 rows in set (0.00 sec)

  Dari struktur tabel mhs yang ditampilkan di atas, dapat diketahui bahwa : Terdapat 5 (lima) field dengan  
  tipe masing-masing. Primary Key dari tabel pelanggan adalah id_pelanggan. Lihat kolom Key pada field
  id_pelanggan. Untuk field id_pelanggan dan nm_pelanggan defaultnya tidak boleh  kosong. Lihatlah 
  kolom  Null dan Default pada field id_pelanggan dan nm_pelanggan.  Untuk field alamat, telepon dan
  email  default-nya boleh kosong. Lihatlah  kolom Null dan Default pada field alamat dan telepon.

2.Mengubah Struktur Table dengan ALTER

   Untuk mengubah struktur suatu tabel, bentuk umum perintah SQL-nya
   sebagai berikut :

  ALTER TABLE nama_tabel alter_options;

  dimana :
  ALTER TABLE merupakan perintah dasar untuk mengubah tabel.
  nama_tabel merupakan nama tabel yang akan diubah strukturnya.
  alter_options merupakan pilihan perubahan tabel. Option yang bisa
  digunakan, beberapa di antaranya sebagai berikut :
  » ADD definisi_field_baru
     Option inid igunakan untuk menambahkan field baru dengan

    “definisi_field_baru” (nama field, tipe dan option lain).

  » ADD INDEX nama_index
 Option inid igunakan untuk menambahkan field baru dengan index dengan nama
  “nama_index” pada tabel.
  » ADD PRIMARY KEY (field_kunci)
    Option untuk menambahkan primary key pada tabel
  » CHANGE field_yang_diubah definisi_field_baru
    Option untuk mengubah field_yang_diubah menjadi definisi_field_baru
  » MODIFY definisi_field
    Option untuk mengubah suatu field menjadi definisi_field
  » DROP nama_field
    Option untuk menghapus field nama_field
  » RENAME TO nama_tabel_baru
    Option untuk mengganti nama tabel


 Beberapa contoh variasi perintah ALTER untuk mengubah struktur suatu
 tabel antara lain :
  •   Menambahkan field “tgllahir” ke tabel pelanggan
            ALTER TABLE pelanggan ADD tgllahir date NOT NULL;

  •   Menambahkan primary key pada suatu tabel
           ALTER TABLE pelanggan ADD PRIMARY KEY(id_pelanggan);

  •   Mengubah tipe field tgllahir menjadi varchar dalam tabel pelanggan
           ALTER TABLE pelanggan MODIFY tgllahir varchar(8) NOT
           NULL;

  •   Menghapus field tgllahir dari tabel pelanggan
           ALTER TABLE pelanggan DROP tgllahir;

 3.Mengubah Nama Tabel

    Untuk mengubah nama suatu tabel, dapat menggunakan perintah SQL sbb :

    RENAME TABLE pelanggan TO plg;
    ALTER TABLE plg RENAME TO pelanggan;

   Perintah di atas akan mengubah tabel pelanggan menjadi plg dan sebaliknya.

 4.Menghapus Tabel

    Untuk menghapus sebuah tabel, bentuk umum dari perintah SQL adalah sebagai berikut :

    DROP TABLE nama_tabel;

    Contohnya kita akan menghapus tabel dengan nama “pelanggan” maka perintah
    SQL-nya adalah :

    DROP TABLE pelanggan;

 5.Menambah Record dengan INSERT

    Bentuk umum perintah SQL untuk menambahkan record atau data ke dalam  suatu tabel adalah sebagai
    berikut :

    INSERT INTO nama_tabel VALUES (‘nilai1’,’nilai2’,...);

    atau dapat dengan bentuk sebagai berikut :

    INSERT INTO nama_tabel(field1,field2,...)
    VALUES (‘nilai1’,’nilai2’,...);

    atau dapat juga dengan bentuk sebagai berikut :


    INSERT INTO nama_tabel
    SET field1=’nilai1’, field2=’nilai2’,...;

   Sebagai contoh, kita akan menambahkan sebuah record ke dalam tabel pelanggan yang telah kita buat
   sebelumnya. Berikut ini perintah SQL untuk menambahkan sebuah record ke dalam tabel pelanggan :

   INSERT INTO pelanggan VALUES ('P0001', 'Achmad
   Solichin','Jakarta Selatan', '0217327762',
   'achmatim@gmail.com');

   Jika perintah SQL di atas berhasil dieksekusi maka akan ditampilkan pesan
   sebagai berikut :

6.Mengedit Record dengan UPDATE

   Proses update bisa sewaktu-waktu dilakukan jika terdapat data atau recor dalam suatu tabel yang perlu
   diperbaiki. Proses update ini tidak menambahkan data (record) baru, tetapi memperbaiki data yang lama.
   Perubahan yang terjadi dalam proses update bersifat permanen, artinya setelah perintah dijalankan tidak
   dapat di-cancel (undo). Bentuk umum perintah SQL untuk mengedit suatu record atau data dari suatu
   tabel adalah sebagai berikut :

   UPDATE nama_tabel SET field1=’nilaibaru’
   [WHERE kondisi];

   Pada perintah untuk update di atas :
   UPDATE merupakan perintah dasar untuk mengubah record tabel.
   nama_tabel merupakan nama tabel yang akan diubah recordnya.Perintah SET diikuti dengan field-field 
   yang akan diubah yang mana diikuti juga dengan perubahan isi dari masing-masing field. Untuk mengubah
   nilai dari beberapa field sekaligus, gunakan koma (,) untuk memisahkan masing-masing field.
   Perintah WHERE diikuti oleh kondisi tertentu yang menentukan record mana yang akan diedit (diubah). 
   Perintah WHERE ini boleh ada boleh juga tidak Jika WHERE tidak ditambahkan pada perintah update
   maka semua record dalam tabel bersangkutan akan berubah.
   Perhatikan beberapa contoh perintah UPDATE tabel pelanggan berikut ini !
   1. Mengubah alamat menjadi “Tangerang” untuk pelanggan yang mempunyai id ‘P0001’
      UPDATE pelanggan SET alamat='Tangerang' WHERE
      id_pelanggan='P0001';

      Dan jika query di atas berhasil dieksekusi maka akan ditampilkan hasil
      sebagai berikut :

      Query OK, 1 row affected (0.27 sec)
      Rows matched: 1 Changed: 1 Warnings: 0

   2. Mengubah email menjadi “budi@luhur.com” dan alamat menjadi “Bandung”
      untuk pelanggan yang mempunyai id_pelanggan ‘P0002’

      UPDATE pelanggan SET email='budi@luhur.com',
      alamat='Bandung' WHERE id_pelanggan='P0002';

7. Menghapus Record dengan DELETE

     Proses delete dilakukan jika terdapat data atau record dalam suatu tabel yang perlu dihapus atau
     dihilangkan.Perubahan yang terjadi dalam proses delete bersifat permanen, artinya setelah perintah
     dijalankan tidak dapat di-cancel (undo). Jadi berhati-hatilah dengan perintah delete !Bentuk umum 
     perintah SQL untuk menghapus suatu record atau data dari tabel adalah sebagai berikut :
   
     DELETE FROM nama_tabel [WHERE kondisi];
    
     Pada perintah untuk delete di atas :
     DELETE FROM merupakan perintah dasar untuk menghapus suatu record dari tabel.
     nama_tabel merupakan nama tabel yang akan dihapus recordnya.
     Perintah WHERE diikuti oleh kondisi tertentu yang menentukan record mana yang akan dihapus
     (didelete). Perintah WHERE ini boleh ada boleh juga tidak.  Namun demikian    , jika WHERE tidak 
     ditambahkan pada perintah delete maka semua record dalam tabel bersangkutan akan terhapus. Jadi 
     jangan lupa menambahkan WHERE jika kita tidak bermaksud mengosongkan tabel
     Perhatikan beberapa contoh perintah DELETE dari tabel pelanggan beriku ini !

     1. Menghapus data pelanggan yang mempunyai id_pelanggan P0005
         DELETE FROM pelanggan WHERE id_pelanggan='P0005';
        
        Dan jika query di atas berhasil dieksekusi dan record yang akan dihapus ada,
        maka akan ditampilkan hasil sebagai berikut :

        Query OK, 1 row affected (0.11 sec)

     2. Menghapus semua pelanggan yang beralamat di “Bandung”

          DELETE FROM pelanggan WHERE alamat='Bandung';

  8. Menampilkan Record dengan SELECT

      Perintah SELECT digunakan untuk menampilkan sesuatu. Sesuatu di sini bisa berupa sejumlah data 
     dari  tabel dan bisa juga berupa suatu ekspresi.
     Dengan SELECT kita bisa mengatur tampilan atau keluaran sesuai tampilan yang diinginkan.
     Bentuk dasar perintah SELECT data dari tabel adalah sebagai berikut :

     SELECT [field | *] FROM nama_tabel [WHERE kondisi];

     Perhatikan beberapa contoh perintah SELECT dari tabel pelanggan berikut ini !

    1. Menampilkan seluruh data atau record (*) dari tabel pelanggan

        SELECT * FROM pelanggan;

       Dan jika query di atas berhasil dieksekusi maka akan ditampilkan hasil sebagai berikut :
       +--------------+-----------------+----------------------------------+------------+---------------------+
| id_pelanggan   | nm_pelanggan    |                      alamat                     |    telepon    |             email            |
+--------------+-----------------+----------------------------------+------------+---------------------+
| P0001            | Achmad Solichin | Jakarta Selatan                            |0217327762 |achmatim@gmail.com |
| P0002            | Agus Rahman      | Jl H Said, Tangerang                   |0217323234 | agus20@yahoo.com |
| P0003            | Doni Damara       | Jl. Raya Cimone, Jakarta Selatan |0214394379 | damara@yahoo.com |
| P0004            | Reni Arianti         | Jl. Raya Dago No 90                   |0313493583 | renren@yahoo.co.id |
| P0005            | Dewi Aminah      | Jl Arjuna No 40                         |0314584883|aminahoke@plasa.com |
| P0006         | Chotimatul M    | RT 04 RW 02 Kel Pinang sari       |  0219249349 | fixiz@yahoo.co.id      |
+--------------+-----------------+----------------------------------+------------+---------------------+
6 rows in set (0.00 sec)
   2. Menampilkan field id_pelanggan dan nm_pelanggan dari seluruh pelanggan dalam tabel pelanggan
       SELECT id_pelanggan, nm_pelanggan FROM pelanggan;

      Jika query di atas berhasil dieksekusi maka akan ditampilkan hasil sebagai berikut :
+--------------+-----------------+
| id_pelanggan  | nm_pelanggan     |
+--------------+-----------------+
| P0001            | Achmad Solichin |
| P0002            | Agus Rahman     |
| P0003            | Doni Damara      |
| P0004            | Reni Arianti        |
| P0005            | Dewi Aminah     |
| P0006            | Chotimatul M     |
+--------------+-----------------+
6 rows in set (0.00 sec)

3. Menampilkan id, nama dan alamat dari data pelanggan yang mempunyai id P0006
    SELECT id_pelanggan, nm_pelanggan, alamat
    FROM pelanggan WHERE id_pelanggan = 'P0006';

   Hasil query di atas adalah sbb :
+--------------+--------------+-----------------------------+
| id_pelanggan   | nm_pelanggan | alamat                                |
+--------------+--------------+-----------------------------+
| P0006            | Chotimatul M | RT 04 RW 02 Kel Pinang sari |
+--------------+--------------+-----------------------------+
1 row in set (0.00 sec)
4. Menampilkan id, nama dan email data semua pelanggan yang mempunyai email di yahoo

   SELECT id_pelanggan, nm_pelanggan, email
   FROM pelanggan WHERE email LIKE '%yahoo%';

   Hasil query di atas adalah sbb :
+--------------+--------------+--------------------+
| id_pelanggan  | nm_pelanggan | email                      |
+--------------+--------------+--------------------+
| P0002           | Agus Rahman | agus20@yahoo.com |
| P0003           | Doni Damara | damara@yahoo.com |
| P0004           | Reni Arianti    | renren@yahoo.co.id |
| P0006           | Chotimatul M | fixiz@yahoo.co.id     |
+--------------+--------------+--------------------+
4 rows in set (0.00 sec)

5. Menampilkan data semua pelanggan yang beralamat di Jakarta Selatan dan mempunyai email di gmail.
   SELECT id_pelanggan, nm_pelanggan, alamat, email
   FROM pelanggan WHERE alamat = 'Jakarta Selatan' && email LIKE '%gmail.com';

   Hasil query di atas adalah sbb :

+--------------+-----------------+-----------------+--------------------+
| id_pelanggan  | nm_pelanggan     | alamat                | email                       |
+--------------+-----------------+-----------------+--------------------+
| P0001         | Achmad Solichin | Jakarta Selatan | achmatim@gmail.com |
+--------------+-----------------+-----------------+--------------------+
1 row in set (0.00 sec)

6. Menampilkan semua data pelanggan secara urut berdasarkan nama pelanggan dengan perintah
   ORDERBY

   SELECT id_pelanggan, nm_pelanggan
   FROM pelanggan ORDER BY nm_pelanggan;

   Hasil query di atas adalah sbb :
+--------------+-----------------+
 | id_pelanggan  | nm_pelanggan    |
+--------------+-----------------+
| P0001           | Achmad Solichin |
| P0002           | Agus Rahman     |
| P0006           | Chotimatul M     |
| P0005           | Dewi Aminah     |
| P0003           | Doni Damara     |
| P0004           | Reni Arianti        |
+--------------+-----------------+
6 rows in set (0.00 sec)


0 komentar:

Related Posts Plugin for WordPress, Blogger...
Twitter Delicious Facebook Digg Stumbleupon Favorites More