baiklah saya akan menjelaskan pengertian Data Definition Language (DDL) dan Data Manipulation Language(DML)
Data Definition Language
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.
CREATE
CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:
CREATE DATABASE nama_basis_data
CREATE TABLE nama_tabel
CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
Keterangan :
nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.
tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.
constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci tamu (foreign key).
Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.
Contoh:
CREATE TABLE user
(
username VARCHAR(15) CONSTRAINT PRIMARY KEY,
password VARCHAR(20) NOT NULL,
tgl_lahir DATETIME
);
akan membuat tabel user seperti berikut:
username
|
password
|
tgl_lahir
|
Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah: Data Manipulation Language
SELECT untuk menampilkan data
INSERT untuk menambahkan data baru
UPDATE untuk mengubah data yang sudah ada
DELETE untuk menghapus data
SELECT
SELECT adalah perintah yang paling sering digunakan pada SQL, SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap: ( QUERY BUDIN )
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung]
[, nama_tabel3 [AS alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING kondisi_aggregat]
Keterangan :
kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
kondisi_aggregat adalah syarat khusus untuk fungsi aggregat
Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya.
Contoh:
Diasumsikan terdapat tabel user yang berisi data sebagai berikut.
username
|
password
|
tgl_lahir
|
jmlh_trans
|
total_trans
|
Abdi
|
6487AD5EF
|
19-09-1997
|
6
|
10.000
|
Bagoes
|
97AD4erD
|
21-11-1994
|
3
|
33.000
|
Chairul
|
548794654
|
06-08-1990
|
24
|
312.150
|
Dani
|
FLKH947HF
|
02-04-1990
|
5
|
12000
|
Eka
|
94RER54
|
15-08-1995
|
34
|
50.000
|
Contoh Pertama : Cara tampilkan seluruh data.
Contoh 2: Tampilkan pengguna yang memiliki jumlah transaksi lebih dari 5
SELECT *
FROM user
WHERE jmlh_trans > 5
Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih dari 1.000.
SELECT username
FROM user
WHERE jmlh_trans < 10 AND total_trans > 700
Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.
SELECT SUM(total_trans) AS total_nominal_transaksi
FROM user
Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.
SELECT *
FROM user
ORDER BY jmlh_trans DESC
Fungsi aggregat
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
SUM untuk menghitung total nominal data
COUNT untuk menghitung jumlah kemunculan data
AVG untuk menghitung rata-rata sekelompok data
MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.
Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada bagian HAVING, bukan WHERE.
Subquery
Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh:
Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.
SELECT username
FROM user
WHERE jmlh_trans =
(
SELECT MAX(jmlh_trans)
FROM user
)
INSERT
INSERT digunakan untuk menyimpan data dalam tabel dengan sintaks sebagai berikut :
INSERT INTO [NAMA_TABLE] (NAMA_FIELD1,NAMA_FIELD2, NAMA_FIELD3) VALUES ('NILAI1', 'NILAI2', 'NILAI3');
Contoh :
INSERT INTO tbl_user (nama,alamat,password) VALUES ('Dwi Randy Herdinanto','Bandar Jaya','pass123')
UPDATE
Update digunakan untuk mengubah data dengan syntak sebagai berikut :
UPDATE [NAMA_TABLE] SET [NAMA_FIELD]=[NILAI] WHERE [KONDISI]
Contoh:
UPDATE tbl_user set password="pass123" where username="test"
DELETE
Delete digunakan untuk menghapus data dengan syntak sebagai berikut :
DELETE FROM [NAMA TABLE] WHERE [KONDISI]
Contoh:
DELETE FROM TEST WHERE NAMA='test';