Selasa, 20 Desember 2011

SQL (DML,DDL,DCL)

Terdapat 3 (dua) jenis perintah SQL, yaitu DDL, DML dan DCL.

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
 DDL - Data Definition Language
merupakan kumpulan perintah SQL yang digunakan untuk membuatmengubah danmenghapus struktur dan definisi metadata dari objek-objek database


DDL - Data Definition Language
Seperti definisi yang telah dijelaskan di atas, DDL adalah kumpulan perintah SQL yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data dari objek-objek database.

Objek-objek database pada yang dimaksud - pada MySQL - adalah sebagai berikut :
  • Database
  • Table
  • View
  • Index
  • Procedure (Stored Procedure)
  • Function
  • Trigger
Contoh :

-- Perintah berikut akan membuat table pada database kita dengan nama "ms_karyawan"
CREATE
 TABLE ms_karyawan (
  kode_cabang varchar(10) default NULL,  kode_karyawan varchar(10) NOT NULL,  nama_depan varchar(8) default NULL,  nama_belakang varchar(9) default NULL,  jenis_kelamin varchar(1) default NULL,  PRIMARY KEY  (kode_karyawan)
)
Daftar Perintah DDL pada MySQL 5.0 
Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut.
  • Pembuatan (CREATE)
  • Perubahan (ALTER & RENAME)
    • ALTER DATABASE
    • ALTER FUNCTION
    • ALTER PROCEDURE
    • ALTER TABLE
    • ALTER VIEW
    • RENAME TABLE
  • Penghapusan (DROP)
    • DROP DATABASE
    • DROP FUNCTION
    • DROP INDEX
    • DROP PROCEDURE
    • DROP TABLE
    • DROP TRIGGER
    • DROP VIEW


Tabel Matrix Perintah DDL MySQL 5.0
 OBJECT
CREATE
 ALTER
 DROP
RENAME 
 DATABASE
 Yes
Yes
 Yes

 FUNCTION
 Yes
Yes
 Yes

 INDEX
 Yes

 Yes

 PROCEDURE
 Yes
Yes
 Yes

 TABLE
 Yes
Yes
 Yes
 Yes
 TRIGGER
 Yes

 Yes

 VIEW
 Yes
Yes
 Yes



  
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

DML - Data Manipulation Language
DML sendiri adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database seperti table, column, dan sebagainya.

Contoh DML : Mengambil Seluruh Row Data dari table MS_KARYAWAN

SELECT 
FROM ms_karyawan


Contoh DML : Memasukkan data ke dalam tabel ms_karyawan

INSERT INTO ms_karyawan(                kode_cabang,                kode_karyawan,                nama_depan,                nama_belakang,                jenis_kelamin)
VALUES ('cab-001','kar-001','Feris','Thia','Laki-laki');
Beberapa daftar Perintah DML MySQL 5.0
  • CALL
  • DELETE
  • DO
  • HANDLER
  • INSERT
  • LOAD DATA INFILE
  • REPLACE
  • SELECT
  • TRUNCATE

3. DCL atau Data Control Language
DCL (bukan BCL) merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :
  • GRANT
  • REVOKE

Membuat, Menampilkan, Membuka dan Menghapus Database

1. Membuat Database
Sintaks umum membuat database baru adalah:
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.Setiap kita membuat database baru, maka sebenarnya MySQL akan membuat suatu folder (direktori) sesuai dengan nama databasenya yang ditempatkan secara default di \mysql\data. Di dalam folder tersebut nantinya akan terdapat file-file yang berhubungan dengan tabel dalam database.
Berikut ini contoh perintah untuk membuat database baru dengan nama “mahasiswa” :
CREATE DATABASE mahasiswa;
Jika query di atas berhasil dieksekusi dan database berhasil dibuat, maka akan ditampilkan pesan sebagai berikut :
Query OK, 1 row affected (0.02 sec)
2. Melihat 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     |
+--------------+
| mahasiswa    |
| 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 “mahasiswa”, berikut ini querynya :
USE mahasiswa;
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 di atas 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 “mahasiswa” :
DROP DATABASE mahasiswa;



Membuat, Mengubah dan Menghapus Table

1. Membuat Table
Bentuk umum perintah SQL untuk membuat tabel baru adalah sbb:
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 yang sudah disederhanakan. Penamaan tabel dan field memiliki aturan yang sama dengan penamaan database.
MySQL menyediakan berbagai tipe data dengan spesifikasi dan panjang masing-masing. Tipe data untuk field dalam MySQL diantaranya ditampilkan pada tabel berikut ini :
JENIS TIPETIPEKETERANGAN
NUMERIKTINYINT-128 s/d 127 SIGNED
0 s/d 255 UNSIGNED
SMALLINT-32768 s/d 32767 SIGNED
0 s/d 65535 UNSIGNED.
MEDIUMINT-8388608 s/d 8388607 SIGNED
0 s/d 16777215 UNSIGNED
INT-2147483648 s/d 2147483647 SIGNED
0 s/d 4294967295 UNSIGNED.
BIGINT-9223372036854775808 s/d 9223372036854775807 SIGNED
0 s/d 18446744073709551615 UNSIGNED.
FLOATBilangan pecahan presisi tunggal
DOUBLEBilangan pecahan presisi ganda
DECIMALBilangan dengan desimal



DATE/TIMEDATETanggal dengan format YYYY-MM-DD
DATETIMETanggal dan waktu dengan format : YYYY-MM-DD HH:MM:SS
TIMESTAMPTanggal dan waktu dengan format : YYYYMMDDHHMMSS
TIMEWaktu dengan format HH:MM:SS
YEARTahun dengan format YYYY



STRINGCHAR0 – 255 karakter
VARCHAR0 – 255 karakter
TINYTEXTString dengan panjang maksimum 255 karakter
TEXTString dengan panjang maksimum 65535 karakter
BLOBString dengan panjang maksimum 65535 karakter
MEDIUMTEXTString dengan panjang maksimum 16777215 karakter
MEDIUMBLOBString dengan panjang maksimum 16777215 karakter
LONGTEXTString dengan panjang maksimum 4294967295 karakter
LONGBLOBString dengan panjang maksimum 4294967295 karakter



KHUSUSENUMTipe data dengan isi tertentu
SETTipe data dengan isi tertentu
Sebagai contoh, kita akan membuat tabel baru dengan struktur sebagai berikut :
Nama tabel: mhs
NoNama FieldTipePanjang
1nimVarchar10
2namaVarchar30
3tgllahirDate-
4alamatText-
Untuk membuat tabel tersebut di atas, query atau perintah SQL-nya adalah sebagai berikut :
CREATE TABLE mhs (
nim varchar(10) NOT NULL,
nama varchar(30) NOT NULL,
tgllahir date,
alamat text,
PRIMARY KEY(nim)
 );
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.
  • mhs merupakan nama tabel yang akan dibuat.
  • Nim, nama, tgllahir dan alamat merupakan nama field
  • Varchar, date 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.
  • 10 dan 30 di belakang tipe data merupakan panjang maksimal dari suatu field
  • Untuk tipe data date dan text (dan beberapa tipe data lainnya) 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_mahasiswa |
+---------------------+
| mhs                 |
+---------------------+
1 rows in set (0.01 sec)
Untuk melihat struktur tabel “mhs” secara lebih detail, cobalah perintah atau query sebagai berikut :
DESC mhs;
DESC merupakan singkatan dari DESCRIBE (dalam query bisa ditulis lengkap atau hanya 4 karakter pertama) dan mhs adalah nama tabel yang akan dilihat strukturnya. Dari perintah di atas, akan ditampilkan struktur tabel mhs sebagai berikut :
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nim      | varchar(10) |      | PRI |         |       |
| nama     | varchar(30) |      |     |         |       |
| tgllahir | date        | YES  |     | NULL    |       |
| alamat   | text        | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
Dari struktur tabel mhs yang ditampilkan di atas, dapat diketahui bahwa :
  • Terdapat 4 (empat) field dengan tipe masing-masing.
  • Primary Key dari tabel mhs adalah nim. Lihat kolom Key pada field nim.
  • Untuk field nim dan nama defaultnya tidak boleh kosong. Lihatlah kolom Nulldan Default pada field nim dan nama
  • Untuk field tgllahir dan alamat defaultnya boleh kosong. Lihatlah kolom Nulldan Default pada field tgllahir dan alamat.

Tidak ada komentar:

Posting Komentar