SQL merupakan salah satu bahasa yang digunakan untuk pengoperasian model data relasional
SQL pertama dibuat oleh San Jose Research Laboratory IBM, aslinya disebut sequel yang
diterapkan sebagai bagian dari proyek sistem R pada awal 1970 .
Berikut adalah sebuah database yang terdiri table S,P dan SP yang digunakan dalam contoh-
contoh statement SQL di bawah :
TABEL S
TABEL P
hal. 1
SQL
TABEL SP
Sn Pn qty
S1 P1 300
S1 P2 200
S1 P3 400
S1 P4 200
S1 P5 100
S1 P6 100
S2 P1 300
S2 P2 400
S3 P2 200
S4 P3 200
S4 P4 300
S4 P5 400
Perintah-perintah yang digunakan untuk menjelaskan objek dari database . Dengan kata
lain DDL digunakan untuk mendefinisikan kerangka database.
Contoh :
Create Table, Drop Table, Alter Table
Create View, Drop View
Create Index, Drop Index
CREATE TABLE S
(Sn Char(5) NOTNULL,
Sname Char(20) NOTNULL,
Status Smallint NOTNULL,
City Char(15) NOTNULL);
hal. 2
SQL
CREATE TABLE P
(Pn Char(6) NOTNULL,
Pname Char(20) NOTNULL,
Color Char(6) NOTNULL,
Weight Smallint NOTNULL);
CREATE TABLE SP
(Sn Char(5) NOTNULL,
Pn Char(6) NOTNULL,
QTY INTEGER NOTNULL);
Contoh :
ALTER TABLE P ADD (City CHAR(15) NOT NULL)
ALTER TABLE S MODIFY (Sname CHAR(30))
ALTER TABLE S DROP CITY
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.
hal. 3
SQL
Contoh :
CREATE UNIQUE INDEX Sidx ON S(Sn);
CREATE UNIQUE INDEX Pidx ON P(Pn);
Keterangan
View-name : nama view yang akan dibuat.
Coloumn : nama atribut untuk view.
Statement : atribut yang dipilih dari tabel basis data.
Table-name : nama tabel basis data.
Contoh :
CREATE VIEW GOOD_SUPPLIERS
AS SELECT Sn, Status, City FROM S Where Status > 15;
Membuat view untuk supplier yang statusnya lebih besar dari 15
SELECT * FROM GOOD_SUPPLIERS
Melihat data good_supplier
Good_Suppliers
S# Status City
S1 20 London
S2 10 Paris
S3 30 Paris
S4 20 London
S5 30 Athens
hal. 4
SQL
Parts
Pnum Part_Name WT
P1 Nut 12
P2 Bolt 17
P3 Screw 17
P4 Screw 14
P5 Cam 12
P6
CREATE CogPQ (Pn,TOTQTY)
VIEW 19
AS SELECT Pn, SUM(QTY) FROM SP GROUP BY Pn;
SELECT * FROM PQ
hal. 5
SQL
Contoh :
INSERT INTO S VALUES (‘S1’,’Smith’,20,’London’);
INSERT INTO S VALUES (‘S2’,’Jones’,10,’Paris’);
INSERT INTO S VALUES (‘S3’,’Blake’,30,’Paris’)
INSERT INTO S VALUES (‘S6’,’Tom’,’50’,’Athens’)
2.2. SELECT
Sintaks :
SELECT [DISTINCT] nama_kolom FROM nama_table
[WHERE kondisi]
[GROUP BY field_name]
[HAVING kondisi]
[ORDER BY field_name]
KETERANGAN :
SELECT :memilih data yang akan ditampilkan berdasarkan atribut
DISTINT :menghilangkan duplikasi
FROM :mendefinisikan seluruh table yang digunakan dalam query
WHERE :menentukan syarat data yang akan dipilih
GROUP BY :mengelompokan data yang mempunyai nilai sama
HAVING :syarat data yang dikelompokan digunakan bersama GROUP
BY
ORDER BY : mengurutkan data
Contoh – contoh :
2.2.1. SELECT * FROM S
atau SELECT Sn,Sname,Sstatus,City FROM S
Dapatkan semua data semua suplier
hal. 6
SQL
2.2.9. SELECT Sn, Status FROM S WHERE City = ‘Paris’ ORDER By Status desc
Dapatkan no supplier dan status bagi supplier yang tinggal di Paris dalam
urutan status menurun
2.2.11. SELECT Pn, ‘Berat dalam Gram=’,weight * 454 FROM P ORDER BY 3,Pn
Dapatkan semua part dengan menampilkan semua no part & beratnya dalam
gr, ditampilkan dengan urutan kolom ketiga dan nomor part secara ascending
hal. 7
SQL
2.2.19. SELECT Sname, status FROM S WHERE Sname NOT LIKE ‘%a%’
Dapatkan nama dan status supplier yang namanya tdk mengandung karakter a
hal. 8
SQL
LIKE
- QUERY dapat lebih spesifik karena didefinisikan karakternya
- ‘-‘ berarti satu karakter
- ‘%’ berarti beberapa karakter
hal. 9
SQL
Atau
SELECT DISTINCT Sname FROM S,SP
WHERE S.Sn = SP.Sn AND SP.Pn = ‘P2’
Dapatkan nama supplier yang mensupply P2
hal.10
SQL
2.4. UPDATE
Sintaks : UPDATE nam_tabel
SET field = ekspresi
WHERE kondisi
2.4.1. UPDATE P SET Warna =’Yellow’, Weight = Weight + 5
WHERE Pn =’P2’
Ubah data pada table P yang kode partnya P2, warnanya menjadi
Yellow dan beratnya di tambah 5
2.5. DELETE
Sintaks : DELETE FROM nama_tabel
WHERE kondisi
hal.11
SQL
3. Statement Security
Statement yang digunakan untuk menjamin keamanan data.
Contoh :
3.1. Memberikan hak akses table atau database kepada user
Sintaks :
Grant tab_privilage ON table TO user_list
[WITH GRANT OPTION] [AS grantor]
3.2. REVOKE
Mencabut hak akses
Sintaks :REVOKE tab_privilage ON table_name
FROM user_list
hal.12
SQL
Contoh :
REVOKE select ON sp FROM avi
REVOKE all ON sp FROM avi
REVOKE connect from avi
4. Statement Integrity
Statement yang digunakan untuk menjaga kesatuan data
Contoh :
4.1. RECOVER TABLE
Statement yang di gunakan untuk memperbaiki table bila terjadi kerusakan
system (system failure)
Sintaks : RECOVER TABLE nama_tabel
RECOVER TABLE SP
5. Statement Auxilary
Statement pelengkap atau tambahan
Contoh :
5.1. UNLOAD
Fungsi : menulis data dari table ke dalam file ASCII
Sintaks: UNLOAD TO “Pathname”[DELIMITER”Char”
SELECT statement
UNLOAD TO “ /home/avi/teks”
DELIMITER “I”
SELECT * FROM SP
5.2. LOAD
Fungsi : mengambil data dari file ASCII ke dalam table
Sintak : LOAD FROM “Pathname” DELIMITER “Char”
INSERT INTO nama_tabel [nama_kolom]
Catatan :
Hapus dahulu table SP
DELETE FROM SP
5.3. RENAME
Fungsi : merubah nama kolom
Sintaks : RENAME col_name TO new_col_name
Contoh : RENAME COLOUM P>COLOR TO WARNA
hal.13