KOMPONEN-KOMPONEN SQL
1
b. Data Manipulation Language (DML) :
Digunakan untuk memanipulasi data dengan menggunakan perintah :
select, insert, update, delete.
Data Manipulation Language merupakan bagian terpadu bahasa SQL.
Perintah-perintahnya dapat dibuat secara interaktif atau ditempelkan
pada sebuah program aplikasi. Pemakai hanya perlu menentukan 'APA'
yang ia inginkan, DBMS menentukan 'BAGAIMANA' cara mendapatkannya.
Objek-objek database pada yang dimaksud - pada MySQL - adalah sebagai berikut :
• Database
• Table
• View
• Index
• Procedure (Stored Procedure)
• Function
• Trigger
Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link
untuk melihat rincian penggunaan dari perintah tersebut.
Pembuatan (CREATE)
• CREATE DATABASE
• CREATE FUNCTION
• CREATE INDEX
• CREATE PROCEDURE
• CREATE TABLE
• CREATE TRIGGER
• CREATE VIEW
Penghapusan (DROP)
• DROP DATABASE
• DROP FUNCTION
• DROP INDEX
• DROP PROCEDURE
• DROP TABLE
• DROP TRIGGER
• DROP VIEW
1. CREATE TABLE
3
Contoh :
-- Perintah berikut akan membuat table pada database
dengan nama "mhs"
CREATE TABLE ms_karyawan (
npm char(8) NOT NULL,
nama_depan varchar(30) NOT NULL,
nama_blk varchar(20) default NULL,
jekel varchar(1) default NULL,
PRIMARY KEY (npm)
)
• NOT NULL , dimana pemakai atau program harus memberikan nilai-nilai pada
saat memasukkan record
• NOT NULL WITH DEFAULT , nilai default disimpan pada saat record dimasukkan
tanpa nilai yang ditentukan untuk kolom ini
Nilai default:
Nol, untuk tipe field numeric
Blank, untuk tipe field character current
date, untuk tipe field date current
time, untuk tipe field time
2. CREATE VIEW
Perintah CREATE VIEW berfungsi untuk membuat tabel view. View merupakan
bentuk alternatif penyajian data dari satu atau lebih tabel. View dapat berisi semua
atau sebagian kolom yang terdapat pada tabel dimana kolom tersebut
didefinisikan.
4
• View dapat berisikan data dari beberapa tabel dan / atau tabel-tabel view
lainnya
• View dapat berisikan perolehan data, misal : nilai rata-rata
• Manipulasi data melalui view terbatas
Keterangan :
- View-name : nama view yang akan dibuat.
- Column : nama atribut untuk view
- Statement : atribut yang dipilih dari tabel basis data.
- Tbname : nama tabel basis data.
Contoh :
create view VMHS (NPM, NAMA)
as select NPM, NAMA from MHS
3. CREATE INDEX
Perintah CREATE INDEX berfungsi untuk membuat tabel index.
Contoh :
Dengan indeks memungkinkan suatu tabel diakses dengan urutan tertentu tanpa
harus merubah urutan fisik dari datanya dan dapat pula diakses secara cepat
melalui indeks yang dibuat berdasar nilai field tertentu. Spesifikasi UNIQUE akan
menolak key yang sama dalam file.
4. DROP TABLE
Perintah DROP TABLE berfungsi untuk menghapus tabel.
5
Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut
otomatis akan dihapus atau tidak akan berfungsi seperti :
• semua record dalam tabel akan terhapus
• index dan view pada tabel akan hilang
• deskripsi tabel akan hilang
5. DROP VIEW
Perintah DROP VIEW berfungsi untuk menghapus view.
Sintaks : DROP VIEW viewname
Contoh :
drop view VMHS
6. DROP INDEX
Perintah DROP INDEX berfungsi untuk menghapus index.
Sintaks : DROP INDEX indexname
Contoh :
drop index MHSIDX
7. ALTER
Perintah ALTER berfungsi untuk merubah atribut pada suatu tabel.
6
Perintah-perintah pada DML dapat dijabarkan sebagai berikut:
1. INSERT
Perintah INSERT berfungsi untuk menambah baris (record) baru.
Catatan :
Sintaks tersebut dapat digunakan jika jumlah kolom = jumlah nilai, tetapi jika dalam
tabel semua kolom akan diisi dapat digunakan sintaks berikut ini :
2. UPDATE
Perintah UPDATE berfungsi untuk merubah record.
Sintaks : UPDATE tbname
SET field = ekspresi
WHERE kondisi
Contoh : akan diubah nama mahasiswa dari MUHAMMAD ADI dengan NPM
00105432 menjadi MUHAMMAD ALI
update MHS
set NAMA =’MUHAMMAD ALI’
where NPM=’00105432’
3. DELETE
7
Perintah DELETE berfungsi untuk menghapus record.
Sintaks : DELETE FROM tbname
WHERE kondisi
4. SELECT
Perintah SELECT berfungsi untuk menampilkan record.
1. Membuat Tabel
a. CREATE TABLE PEMASOK
(Kd-P char(5) NOT NULL,
Nama-P varchar(20) NOT NULL,
Status smallint NOT NULL,
Kota varchar(30) NOT NULL);
c. CREATE TABLE PB
(Kd-P char(5) NOT NULL,
Kd-B char(6) NOT NULL,
Jumlah INTEGER NOT NULL);
8
d. CREATE UNIQUE INDEX Sidx ON PEMASOK(Kd-P);
CREATE UNIQUE INDEX Pidx ON BARANG(Kd-B);
CREATE INDEX Sdx ON PB(Kd-P);
CREATE INDEX Pdx ON PB(Kd-B);
3. Membuat View
a. Membuat view untuk pemasok yang statusnya lebih besar dari 15
CREATE VIEW PEMASOK-YG-BAGUS
AS SELECT Kd-P, Status, Kota FROM PEMASOK
WHERE Status > 15
Tabel S, P dan SP berisikan dengan data-data seperti terlihat pada tabel 1, 2. dan 3.
Tabel 1. TABEL PEMASOK
9
Tabel 2. Tabel BARANG
b. Merubah record pada tabel PEMASOK, statusnya menjadi dua kali status
awal untuk pemasok yang bertempat tinggal di kota London
UPDATE PEMASOK
SET Status = 2 * Status
WHERE Kota = 'London'
10
3. Menampilkan record (SELECT 1 tabel)
a. Menampilkan semua data pemasok
SELECT * FROM PEMASOK
atau
SELECT Kd-P, Nama-P, Status, Kota FROM PEMASOK
c. Menampilkan kode pemasok dan status untuk pemasok yang tinggal di Paris
SELECT Kd-P, Status FROM PEMASOK WHERE Kota ='Paris'
11
i. Menampilkan barang yang namanya dimulai dengan huruf C
SELECT * FROM BARANG
WHERE Nama-B LIKE 'C%'
FUNGSI PERHITUNGAN
Fungsi-fungsi yang dapat digunakan antara lain:
• COUNT : jumlah baris dan kolom
• SUM : jumlah nilai dam kolom
• AVG : rata-rata nilai dalam kolom
• MAX : nilai terbesar dalam kolom
• MIN : nilai terkecil dalam kolom
Untuk SUM dan AVG nilainya harus numerik (INT, SMALLINT, FLOAT). Fungsi- fungsi
tersebut jika dikenakan pada nilai yang NULL maka nilainya akan diabaikan kecuali
untuk COUNT(*)
b. Menampilkan kode barang dan total jumlah pengiriman dari setiap barang
SELECT Kd-B, SUM(Jumlah) FROM PEMASOK-BRG
GROUP BY Kd-B
12
d. Menampilkan jumlah pengiriman barang dengan nomor B4 dan dipasok oleh
kode pemasok P1
SELECT COUNT(*) FROM PEMASOK-BRG
WHERE Kd-B = 'B4' AND Kd-P = 'P1'
1. GRANT
Contoh :
2. REVOKE
Perintah REVOKE berfungsi untuk mencabut izin akses kepada pemakai.
Contoh :
13