Selasa, 29 November 2011

Artikel DML dan DDL

1. DDL - Data Definition Language
-Daftar Perintah DDL pada MySQL 5.0
-Tabel Matrix Perintah DDL MySQL 5.0
2. DML - Data Manipulation Language
-Beberapa daftar Perintah DML MySQL 5.0
-Belajar SQL lebih lanjut ?

Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :
• DDL-Data Definition Language
merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus struktur dan definisi metadata dari objek-objek database.
• DML - Data Manipulation Language
merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.

Mari kita lihat dari definisi dan contoh lebih lanjut pada bagian berikut di bawah ini.
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)
o CREATE DATABASE
o CREATE FUNCTION
o CREATE INDEX
o CREATE PROCEDURE
o CREATE TABLE
o CREATE TRIGGER
o CREATE VIEW

• Perubahan (ALTER & RENAME)
o ALTER DATABASE
o ALTER FUNCTION
o ALTER PROCEDURE
o ALTER TABLE
o ALTER VIEW
o RENAME TABLE

• Penghapusan (DROP)
o DROP DATABASE
o DROP FUNCTION
o DROP INDEX
o DROP PROCEDURE
o DROP TABLE
o DROP TRIGGER
o 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

________________________________________


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
• UPDATE



Structured Query Language (SQL) merupakan bahasa komputer standar ANSI ( American National Standard Institute) untuk mengakses dan memanipulasi sistem basisdata. SQL pertama kali dikembangan pada akhir tahun 1970-an di Laboratorium IBM San Jose, California.
ANSI ( American National Standard Institute) dan ISO ( International Standard Organization) mempromosikan SQL sebagai standar indrustri pada Oktober 1986. SQL umumnya dibaca "sequel" dan merupakan bahasa nonprosedural. SQL dapat bekerja dengan program basisdata seperti Ms. Access, DB2, Infomix, Ms. SQLServer, MySQL, Oracle, Sybase, Foxpro, Startbust dan sebagainya.

Contoh perintah DDL :
• Membuat tabel
CREATE TABLE
Digunakan untuk membuat tabel. Syntax umumnya sebagai berikut :
CREATE TABLE [schema, ] table
( column datatype [DEFAULT expr][,...]);

• Menghapus tabel
DROP TABLE
Digunakan untuk melakukan penghapusan tabel. Melakukan penghapusan table dengan perintah DROP, berarti mengerjakan hal berikut :
Semua data dan struktur dari table akan dihapus Semua transaksi pending akan di-commit Semua indeks akan dihapus Perintah drop ini tidak bisa di-rollback Sebagai contoh, jika kita ingin menghapus tabel dept, maka yang harus dilakukan adalah :
DROP TABLE dept;
• Menambah /menghapus kolom
• Statemen ALTER TABLE digunakan untuk :
~ Menambahkan kolom baru
Untuk menambah kolom baru, syntax umumnya sebagai berikut :
ALTER TABLE table
ADD (column datatype [DEFAULT expr]
[, column datatype]...);
~ Memodifikasi kolom yang sudah ada
Kita dapat memodifikasi kolom dengan mengubah tipe datanya, ukuran dan nilai defaultnya.
Sintaks dari perintah ALTER TABLE untuk memodifikasi kolom sebagai berikut :
ALTER TABLE table
MODIFY (column datatype [DEFAULT expr]
[, column datatype] ... );
Contoh :
ALTER TABLE dept
MODIFY (dname VARCHAR2(30));
View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query dari tabel-tabel dalam sebuah database. Syntax untuk melakuakn VIEW adalah :
CREATE VIEW AS

Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali terdapat proses modifikasi pada tabel. Proses modifikasi berupa: Insert, Update dan delete. Syntax pembuatan Trigger:
CREATE TRIGGER ON TABLE
FOR [DELETE] [,] [INSERT] [,] [UPDATE]
AS

DML ( Data Manipulation Language)
DML dalam SQL memungkinkan untuk memanipulasi data dalam basisdata, yang termasuk dalam bahasa manipulasi data adalah :
SELECT, UPDATE, DELETE, INSERT INTO untuk memanipulasi data dalam tabel.
Pernyataan SELECT
Pernyataan SELECT digunakan untuk memilih data dari tabel, hasilnya disimpan dalam tabel hasil yang disebut Result Set. Rumus Dasar Select :
SELECT A1, A2, A3 FROM r1, r2, r3
Dimana A = nama Atribut/ field/ kolom dan r = nama Table/ Relasi
Contoh Query Select
Diketahui sebuah table mahasiswa (berarti nama table-nya adalah mahasiswa) yang mempunyai 5 field atau kolom yaitu Nim, Nama, kelas, ip, dan rank. Sedangkan record/isi baris-nya ada 8:
Nim Nama kelas ip rank
3303143 Ali Wardhana 2mi-10 76 53
3303186 Ari Budiarti Bachterani 2mi-9 71 89
3303165 Citra Sutisna Putra 2mi-10 69 100
3303060 David Zakaria 2mi-9 69 149
3303075 Didit Rusandi 2mi-10 85 16
3303166 Dilla Astrika Aprilia 2mi-9 81 31
3303090 Dwi Rahayu 2mi-10 79 39
3303079 Eneng Aisyah 2mi-9 63 133
Bila ingin menampilkan field nama dan kelas saja maka rumusnya adalah :
SELECT Nama, kelas FROM mahasiswa;
Hasil atau result-setnya adalah :

Nama kelas
Ali Wardhana 2mi-10
Ari Budiarti Bachterani 2mi-9
Citra Sutisna Putra 2mi-10
David Zakaria 2mi-9
Didit Rusandi 2mi-10
Dilla Astrika Aprilia 2mi-9
Dwi Rahayu 2mi-10
Eneng Aisyah 2mi-9
Untuk menampilkan semua field rumusnya ada 2 yaitu :
1. SELECT nim, nama, kelas, ip, rank FROM mahasiswa;
2. SELECT * FROM mahasiswa
tanda bintang (*) mewakili bila ingin menampilkan semua record, silahkan pilih yang lebih enak yang mana.
DISTINCT
Disebuah table, kadang ada isi record yang sama contohnya adalah kolom kelas hanya mempunyai 2 jenis record yang sama, bilamana ingin hanya menampilkan data yang berbeda saja seperti ini sintaknya :
SELECT DISTINCT KELAS FROM Mahasiswa;
hasilnya
kelas
2mi-10
2mi-9
WHERE
Digunakan untuk menentukan kriteria seleksi. Untuk memilih data suatu tabel dengan kreteria tertentu misal kita ingin menampilkan nama mahasiswa yang ada di kelas 2mi-10 saja, Klausa Where dapat ditambahkan pada pernyataan SELECT. Sintaknya
SELECT nama, kelas FROM mahasiswa WHERE kelas='2mi-10'; tanda (') menandakan bahwa record bertipe String.
hasilnya :
Nama kelas
Ali Wardhana 2mi-10
Citra Sutisna Putra 2mi-10
Didit Rusandi 2mi-10
Dwi Rahayu 2mi-10
Berikut adalah Operator yang bisa digunakan :
Operator Description
= Sama Dengan
<> Tidak Sama Dengan
> Lebih Besar dari
< Lebih Kecil dari
>= Lebih Besar dari atau Sama dengan
<= Lebih Kecil dari atau Sama dengan
BETWEEN AND Antara
LIKE Mencari data yang memungkinkan
IN Digunakan bila mengetahui nilai pasti dari sebuah kolom
Contoh Penggunaan Operator LIKE :
SELECT * FROM mahasiswa WHERE nama LIKE 'A%';
hasilnya :
Nim Nama kelas ip rank
3303143 Ali Wardhana 2mi-10 76 53
3303186 Ari Budiarti Bachterani 2mi-9 71 89
A% artinya mencari nama yang mempunyai huruf awal A. Misal menggunakan %A% berati mencari nama yang mampunyai huruf A. Kalau %kan ? Berarti mencari nama dengan huruf akhir kan. Biasanya ini digunakan untuk Pencarian atau Searching.
Contoh Penggunaan BETWEEN .. AND ..
Operator BETWEEN ... AND ... memilih data antara dua nilai dapat berupa angka, teks atau tanggal. Dengan sintaks BETWEEN nilai1 AND nilai2
SELECT * FROM mahasiswa WHERE ip BETWEEN 70 AND 80; perhatikan 70 dan 80 tidak menggukanan tanda (') karena merupakan sebuah angka
Nim Nama kelas ip rank
3303143 Ali Wardhana 2mi-10 76 53
3303090 Dwi Rahayu 2mi-10 79 39
3303186 Ari Budiarti Bachterani 2mi-9 71 89
ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data. Misal kita ingin mengurutkan dari field nama.
SELECT * FROM mahasiswa ORDER BY nama;
Hasilnya:
Nim Nama kelas ip rank
3303143 Ali Wardhana 2mi-10 76 53
3303186 Ari Budiarti Bachterani 2mi-9 71 89
3303165 Citra Sutisna Putra 2mi-10 69 100
3303060 David Zakaria 2mi-9 69 149
3303075 Didit Rusandi 2mi-10 85 16
3303166 Dilla Astrika Aprilia 2mi-9 81 31
3303090 Dwi Rahayu 2mi-10 79 39
3303079 Eneng Aisyah 2mi-9 63 133
MENGGUNAKAN ALIAS
Dengan SQL, ALIAS dapat digunakan untuk mengganti nama_kolom. contoh
SELECT nama AS nama_mhs FROM mahasiswa;
nama_mhs
Ali Wardhana
Ari Budiarti Bachterani
Citra Sutisna Putra
David Zakaria
Didit Rusandi
Dilla Astrika Aprilia
Dwi Rahayu
Eneng Aisyah
Pernyataan UPDATE
Pernyataan UPDATE digunakan untuk memodifikasi data dalam tabel. Contoh
UPDATE mahasiswa SET nama = 'Dwi Lestari' WHERE nama = 'Dwi Rahayu';
Artinya Ubah table mahasiswa Diset nama menjadi Dwi Lestari yang tadinya nama adalah Dwi Rahayu.
Pernyataan DELETE
Pernyataan DELETE digunakan untuk menghapus baris data dalam tabel. contoh Jika kita ingin menghapus mahasiswa dengan nama David Zakaria, pernyataan SQL-nya adalah
DELETE FROM mahasiswa WHERE nama='David Zakaria';
Jika kita ingin menghapus semua data tanpa menghapus tabel, pernyataan SQL-nya adalah
DELETE FROM mahasiswa;

Contoh perintah DML :
•Penambahan data pada sebuah tabel
Syntax:
INSERT INTO nama_tabel(field ke-1, ….. field ke-n)
VALUES(nilai_field_ke-1, …. nilai_field_ke-n);
•Pembaruan data pada sebuah tabel
Syntax:
UPDATE nama_tabel
SET nama_field = data_baru
WHERE nama_field = data_lama;
•Penghapusan data pada sebuah tabel
Syntax:
DELETE FROM nama_tabel
[ WHERE kondisi];

•Pemilihan data dari satu atau beberapa tabel
Syntax :
SELECT [DISTINCT] select_list
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]