SQL (Structured Query
Language) Syntax
SQL adalah bahasa non prosedural yang digunakan untuk mengakses DBMS (DatabaseLanguage) Syntax
Management System).
Pernyataan SQL dikelompokkan menjadi dua kategori utama yang
sebenarnya dianggap sebagai dua bahasa yang berbeda yaitu pernyataan untuk
memanipulasi data yang membentuk Data Manipulation Language (DML) serta
pernyataan untuk mendefinisikan objek database seperti misalnya tabel atau indeksnya
yang membentuk Data Definition Language (DDL)
I. Data Defenition Language ( DDL ) / Pembentukan database
Membuat tabel (Creating tables)
Syntax
CREATE TABLE
[PRIMARY KEY] [DEFAULT
[CHECK
[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT
[CHECK
keterangan
Unique; Pada kolom tersebut tidak boleh ada data yang sama.
Not Null; tidak boleh data pada kolom tersebut bernilai null
Unique dan Not Null; kolom tersebut dapat dijadikan primary key.
Default; nilai default yang secara otomatis akan mengisi kolom dengan data default
tersebut setiap operasi insert dilakukan.
Referential_Constraint_Definition; Bila kolom tersebut merupakan foreign key terhadap
tabel lain. Dengan syntax
FOREIGN KEY
Contoh :
CREATE TABLE Pelajar (No_Induk CHAR(8), Nama CHAR(20), Tgl_Lahir DATE, Kelas CHAR(2));
CREATE TABLE Mata_Pelajaran(Kode CHAR(4), Nama CHAR(20), Kelas CHAR(2));
CREATE TABLE Nilai(No_Induk CHAR(8),Kode CHAR(4),Nl_Angka Number);
Membuat index (Creating indices)
Syntax
. . .
[
CREATE INDEX
Contoh :
DROP TABLE Pelajar;
CREATE TABLE Pelajar (No_Induk CHAR(8) PRIMARY KEY, Nama CHAR(20), Tgl_Lahir DATE, Kelas
CHAR(2));
CREATE INDEX nm ON Pelajar(Nama);
DROP TABLE Mata_Pelajaran;
CREATE TABLE Mata_Pelajaran(Kode CHAR(4) PRIMARY KEY, Nama CHAR(20), Kelas CHAR(2));
CREATE TABLE Nilai(No_Induk CHAR(8) REFERENCES Pelajar(No_Induk), Kode CHAR(4)
REFERENCES Mata_Pelajaran(Kode), Nilai Number);
Mengubah tabel (Altering tables)
Syntax
ALTER TABLE
(
Keterangan
Add; Penambahan kolom baru.
Modify; Mengubah kolom yang sudah ada sebelumnya.
Contoh :
ALTER TABLE Pelajar
ADD (Jenis_Kelamin CHAR(10));
Menghapus tabel (Dropping tables)
Syntax
DROP TABLE
DROP INDEX
Contoh :
DROP TABLE Pelajar;
DROP INDEX nm;
II. Data Manipulation Language ( DML ) / Manipulasi Data
Penyisipan data (Inserting)
Syntax
INSERT INTO
VALUES(
Contoh :
DROP TABLE Pelajar CASCADE CONSTRAINTS;
CREATE TABLE Pelajar (No_Induk CHAR(8) PRIMARY KEY, Nama CHAR(20), Tgl_Lahir DATE, Kelas
CHAR(2));
INSERT INTO Pelajar VALUES (‘00311217’,’Wempi Satria’,’02-JAN-1982’,’1’,’Laki-laki’);
INSERT INTO Pelajar VALUES (‘00311211’,’Wempi,’03-MAR -1982’,’1’,’Laki-laki’);
INSERT INTO Pelajar VALUES (‘00311210’,’Satria’,’12-DEC -1982’,’1’,’Perempuan’);
Mengubah data (Updating)
Syntax
UPDATE
Contoh :
UPDATE Pelajar SET No_Induk = ‘00311216’ ,Nama = ‘Wati’ WHERE No_Induk =’00311210’ and Nama
= ‘Satria’;
Menghapus data (Deletion)
Syntax
DELETE FROM
WHERE
Contoh :
DELETE FROM Pelajar
WHERE No_Induk = ‘00311211’;
Seleksi data (Selection)
Syntax
SELECT [*] [
MONTH_BETWEEN (
Contoh :
SELECT * FROM Pelajar;
SELECT a.No_Induk, a.Nama, b.Kode, b.Nama, c.Nl_Angka FROM Pelajar a, Mata_Pelajaran b, Nilai c;
WHERE a.No_Induk=c.No_Induk and b.Kode=c.kode;
Membuat tabel maya (Creating views)
Syntax
CREATE VIEW
WHERE
III. Data Control Language ( DCL ) / Kontrol Data
Konfirmasi menyimpan data di memory ke database (Commit)
Syntax
COMMIT [WORK];
Contoh :
INSERT INTO Pelajar
VALUES (‘00311210’,’Satria’,’15-DEC -1982’,’1’,’Perempuan’);
COMMIT;
Mengembalikan status transaksi sebelum penyimpanan (Rollback)
Syntax
ROLLBACK [WORK];
Pemberian hak dari satu user ke user lain (Grant)
Syntax
GRANT
Penghapusan hak yang diberikan (Revoke)
Syntax
REVOKE
Spesifikasi akses
All Privileges; Semua hak diberikan.
Select; Untuk seleksi
Update; Untuk mengubah data
Insert; Untuk menyisipkan data
Delete; Untuk menghapus data
IV. EKSPRESI
FROM
Untuk mendefenisikan tabel yang menjadi sumber data dari suatu perintah seleksi
Contoh : SELECT * FROM Pelajar
WHERE
Untuk mendefenisikan kondisi pengambilan data dari suatu perintah seleksi
Contoh : SELECT * FROM Pelajar WHERE No_Induk = ‘00311217’;
DISTINCT
Untuk menghapus setiap duplikat dari record yang dihasilkan oleh penyataan select
Syntax : Select distinct
AS
Untuk membuat nama alias field pada output
Syntax: Select
GROUP BY
Untuk Mengelompokkan data berdasarkan ekspresi group
Syntax : SELECT
BY
Contoh :
SELECT a.No_Induk, b.Nama, c.Nl_Angka FROM Pelajar.a, Nilai b WHERE a.No_Induk=c.No_Induk and
b.kode=c.kode GROUP BY a.No_Induk, b.Nama, c.Nl_Angka;
ORDER BY
Untuk mengurutkan data hasil seleksi
Syntax :
SELECT
ORDER BY
Contoh :
SELECT * FROM Pelajar ORDER BY No_Induk;
HAVING
Untuk mendefenisikan batasan seleksi berdasarkan GROUP BY
Syntax :
SELECT
Contoh :
SELECT a.No_Induk, b.Nama, c.Nl_Angka FROM Pelajar.a, Nilai b WHERE a.No_Induk=c.No_Induk and
b.kode=c.kode GROUP BY a.No_Induk, b.Nama, c.Nl_Angka HAVING Nilai>80;
V. PREDIKAT COMPARISON
Pembanding dua nilai dengan syarat type data yang dibandingkan harus sama
Sama dengan =
Tidak sama dengan <>
Lebih kecil <>
Lebih kecil dan sama dengan >=
Lebih besar dan sama dengan <= BETWEEN Pembanding untuk mengecek apakah suatu nilai berada dalam range tertentu atau tidak Syntax : ... BETWEEN ... AND ... ... NOT BETWEEN ... AND ... Contoh : Menampilkan data nilai pada range 80 dan 100 SELECT * FROM Nilai WHERE Nl_Angka BETWEEN 80 AND 100; IN Untuk melakukan pengecekan apakah suatu nilai terdapat dalam suatu himpunan Syntax : IN ( ... ) IN SELECT ... Contoh : Select * FROM Pelajar a WHERE a.No_Induk IN (SELECT b.No_Induk FROM Nilai b); LIKE / NOT LIKE Untuk membandingkan data dengan pola / struktur tertentu, untuk satu karakter dipakai ( _ ) dan string ( % ) Syntax : ...
...
Contoh :
SELECT * FROM Pelajar WHERE Nama LIKE ‘We%’;
IS NULL / IS NOT NULL
Untuk membandingkan suatu nilai dengan NULL
Syntax :
...
...
Contoh :
SELECT * FROM Pelajar
WHERE Kelas IS NULL
EXIST
Untuk pengecekan apakah suatu query memiliki hasil atau tidak
Syntax : ... WHERE EXIST (SELECT ... )
Contoh : SELECT * FROM Pelajar a
WHERE EXIST (
SELECT b.No_Induk FROM Nilai b
WHERE a.No_Induk=b.No_Induk);



