Structure
Query Language ( S Q L )
SQL dapat diterapkan pada
beberapa software diantaranya adalah : Dbase
IV, Informix, AS-400, Access .
1.                 
Interactive 
;    langsung dapat dioperasikan.
2.                 
Embedded ;    disisipkan
ke dalam sebuah program ( Cobol, C, Fortran ).
Pengelompokan Statement SQL
1.                 
Data Definition
Language ( DDL )
Data Definition Language (DDL)
adalah bahasa dalam DBMS yang digunakan untuk membuat atau mendefinisikan
obyek-obyek di dalam database. Statement DDL adalah perintah-perintah yang
digunakan untuk menjelaskan objek dari database. Dengan kata lain DDL digunakan
untuk mendefinisikan kerangka database. Secara umum untuk membuat obyek table.
Syntaks dalam DDL:
1.      Create
: Perintah yang digunakan untuk membuat objek database seperti Table, View,
Index, Synonym, Sequence, Procedure, Trigger, Function, Package, dan
User-Defined Data Types.
2.      Alter
: Perintah yang digunakan untuk memodifikasi struktur dari objek-objek
database.
3.      Drop
: Perintah yang digunakan untuk menghapus objek database
4.      Truncate
: Perintah yang digunakan untuk menghapus secara permanen baris (row) dari
sebuah tabel atau dengan kata lain mengosongkan kembali tabel tanpa menghapus
tabel itu sendiri.
5.      Rename
: Perintah yang digunakan untuk mengganti nama sebuah objek database.
Kasus DDL
1. Pembuatan Database
Sintaks        :           CREATE
DATABASE nama_db ;
Contoh       :           
CREATE DATABASE
latihan ;
(membuat database dengan nama latihan)
2.   
Pembuatan Tabel
Sintaks        : CREATE TABLE nama_tabel 
(nama_kolom1 
type_kolom1, nama_kolom type_kolom2, …)
Contoh       :
Struktur database
MHS (NPM
char(8),NAMA char(25),ALAMATchar(30))
MKUL (KDMK
char(5),MTKUL char(25),SKS smallint)
NILAI (NPM char(8),KDMK
char(5),MID smallint,FINAL smallint)
Membuat table
CREATE TABLE
MHS(NPM char(8) notnull, NAMA char(25) notnull, ALAMAT char(30) notnull);
CREATE TABLE
MKUL(KDMK char(5) notnull, MTKULIAH char(25) notnull, SKS smallint notnull);
CREATE TABLE
NILAI(NPM char(8) notnull, KDMK char(5) notnull, MID smallint, FINAL smallint);
3.   
Pembuatan Index
Sintaks        :           CREATE [UNIQUE] INDEX nama_index 
ON nama_tabel (nama_kolom);
    Contoh:  
Buat index dengan nama MHSIN berdasarkan NPM dari tabel MHS !
    CREATE UNIQUE INDEX MHSIN ON MHS(NPM);
Hasil : MHSIN
| NPM | NAMA | ALAMAT | 
| 10296126 | Astuti | Jakarta | 
| 10296832 | Nurhayati | Jakarta | 
| 21196353 | Quraish | Bogor | 
| 31296500 | Budi | Depok | 
| 41296525 | Prananingrum | Bogor | 
| 50096487 | Pipit | Bekasi | 
CREATE INDEX
NILAIIN ON NILAI(KDMK);
4.   
Pembuatan View
Sintaks : CREATE VIEW nama_view
[(nama_kolom1, …, …)] AS SELECT statement [WITH
CHECK OPTION];
Contoh:  
Buat
view dengan nama MHSVIEW yang berisi semua data mahasiswa !
CREATE VIEW
MHSVIEW AS SELECT *FROM MHS;
CREATE VIEW
NILVIEW(NPM, KDMK,   MID) AS SELECT NPM,
KDMK, MID FROM NILAI;
5.   
Menghapus
Database / Tabel / Index / View
Sintaks : DROP DATABASE nama_db
                                DROP
TABLE nama_tabel
                                DROP INDEX 
nama_index
                                                DROP VIEW 
nama_view
Contoh       : 
menghapus
tabel MHS :
DROP
TABLE MHS;
6.   
Merubah Struktur
Tabel
Sintaks : ALTER TABLE nama_tabel
ADD (nama_kolom type_kolom
[BEFORE nama_kolom])
MODIFY (nama_kolom  
type_kolom)
DROP
(nama_kolom   type_kolom);
Contoh       : 
Tambahkan
kolom JKEL pada tabel MHS
ALTER TABLE MHS ADD(JKEL char(1));
Hasil : MHS
| 
NPM | 
NAMA | 
ALAMAT | 
JKEL | 
| 
10296832 | Nurhayati | Jakarta |  | 
| 
10296126 | Astuti | 
Jakarta |  | 
| 
31296500 | Budi | 
Depok |  | 
| 
41296525 | Prananingrum | 
Bogor |  | 
| 
50096487 | Pipit | 
Bekasi |  | 
| 
21196353 | Quraish | 
Bogor |  | 
Ubah panjang kolom MTKULIAH yang ada pada tabel MKUL
!
ALTER
TABLE MKUL 
MODIFY(MTKULIAH
char(30));
Hapus
kolom JKEL dari tabel MHS !        
ALTER TABLE MHS
DROP(JKEL char(1));
Contoh Data : MHS
| 
NPM | 
NAMA | 
ALAMAT | 
| 
10296832 | Nurhayati | Jakarta | 
| 
10296126 | Astuti | 
Jakarta | 
| 
31296500 | Budi | 
Depok | 
| 
41296525 | Prananingrum | 
Bogor | 
| 
50096487 | Pipit | 
Bekasi | 
| 
21196353 | Quraish | 
Bogor | 
MKUL
| KDMK | 
MTKULIAH | 
SKS | 
| KK021 | 
P. Basis Data | 
2 | 
| KD132 | 
SIM | 
3 | 
| KU122 | 
Pancasila | 
2 | 
NILAI
| 
NPM | 
KDMK | 
MID | 
FINAL | 
| 
10296832 | 
KK021 | 
60 | 
75 | 
| 
10296126 | 
KD132 | 
70 | 
90 | 
| 
31296500 | 
KK021 | 
55 | 
40 | 
| 
41296525 | 
KU122 | 
90 | 
80 | 
| 
21196353 | 
KU122 | 
75 | 
75 | 
| 
50095487 | 
KD132 | 
80 | 
0 | 
| 
10296832 | 
KD132 | 
40 | 
30 | 
2.                
Data Manipulation Language ( DML )
Data Manipulation Languange (DML) merupakan
kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data,
misalnya untuk pengambilan, penyisipan, pengubahan, dan penghapusan
data.Perintah yang termasuk dalam kelompok DML adalah SELECT, INSERT, DELETE,
dan UPDATE.
1.     
Insert : Perintah yang digunakan untuk memasukkan data
ke table.
2.     
Update : Perintah yang digunakan untuk memodifikasi
data pada tabel.
3.     
Delete : Perintah yang digunakan untuk menghapus data
pada table.
4.     
Select : Perintah yang digunakan untuk menampilkan isi
tabels.
5.     
Commit : Perintah yang digunakan untuk menyimpan
perubahan pada workspace yang sedang dioperasikan, karena pada awalnya
perubahan masih tersimpan pada workspace temporary.
6.      Rollback : Perintah yang digunakan untuk membatalkan perubahan yang
dilakukan setelah perintah COMMIT terakhir
Kasus
DML
1.   
Insert
Sintaks        :           INSERT INTO 
                                nama_tabel
[(nama_kolom1, …)]    
                                VALUES (data1, …);
Contoh       :           
Masukkan
data pada tabel MKUL !
INSERT INTO MKUL
VALUES  (“KK222”,”Berkas Akses”, 2);         
Hasil :MKUL
| KDMK | 
MTKULIAH | 
SKS | 
| KK021 | 
P. Basis Data | 
2 | 
| KD132 | 
SIM | 
3 | 
| KU122 | 
Pancasila | 
2 | 
| KK222 | 
Berkas Akses | 
2 | 
Masukan
data pada tabel Nilai
INSERT INTO
NILAI(NPM,KDMK,MID) VALUES (“32296222”,”KK222”,30);
2.   
Update
Sintaks : UPDATE nama_tabel
                                SET nama_kolom =
ekspresi
                                WHERE kondisi;
Contoh       :           
Ubah alamat mahasiswa yg
memiliki NPM = “50096487” !
UPDATE MHS SET  ALAMAT=”Depok”
WHERE NPM=”50096487”;
Hasil :MHS
| 
NPM | 
NAMA | 
ALAMAT | 
| 
50096487 | Pipit | 
Depok | 
UPDATE NILAI SET MID=MID+10
WHERE KDMK=”KK021”;
3.   
Delete
Sintaks        : DELETE FROM nama_tabel
                                      WHERE kondisi
Contoh       :           
Hapus nilai mahasiswa yang
mempunyai NPM=”10296832” dan KDMK=”KK021” !
DELETE FROM NILAI WHERE  NPM=”10296832” AND KDMK=”KK021”;
Hasil :NILAI
| 
NPM | 
KDMK | 
MID | 
FINAL | 
| 
10296126 | 
KD132 | 
70 | 
90 | 
| 
31296500 | 
KK021 | 
55 | 
40 | 
| 
41296525 | 
KU122 | 
90 | 
80 | 
| 
21196353 | 
KU122 | 
75 | 
75 | 
| 
50095487 | 
KD132 | 
80 | 
0 | 
| 
10296832 | 
KD132 | 
40 | 
30 | 
Select
Sintaks        :           SELECT [DISTINCT] nama_kolom 
FROM nama_tabel
             [
WHERE kondisi ]
[ GROUP BY nama_kolom ]
[ HAVING kondisi ]
[ ORDER BY nama_kolom [ASD/DESC]]
Contoh satu tabel ( Simple
Query ) :       
Menampilkan data.
Tampilkan semua data
mahasiswa !
SELECT * FROM MHS;
SELECT NPM,NAMA,ALAMAT
FROM  MHS;
4.    Mengambil
data dari suatu tabel dengan  satu/banyak
kondisi :         
Tampilkan mata kuliah yang
memiliki SKS = 2 !
SELECT MTKULIAH FROM MKUL
WHERE  SKS = 2;
Hasil :MKUL         
| 
MTKULIAH | 
| 
P. Basis Data | 
| 
Pancasila | 
SELECT * FROM NILAI WHERE   MID >=60 OR FINAL > 75;
SELECT NPM, KDMK, MID FROM
NILAI  WHERE MID BETWEEN 70 AND 100;
5.      Mengambil
data dari suatu tabel dengan menggunakan perintah LIKE:
Tampilkan
nama mahasiswa yang diawali dengan huruf “P” !
SELECT NAMA FROM MHS WHERE
NAMA LIKE “P%”;
Hasil : MHS
| 
NAMA | 
| Prananingrum | 
| Pipit | 
SELECT NAMA FROM MHS WHERE
NAMA NOT LIKE “%a%”;
SELECT NAMA FROM MHS WHERE
NAMA LIKE “_u”;
6.   
Mengambil data
pada suatu tabel dengan hanya menampilkan satu kali saja data yang sama :
Tampilkan alamat mahasiswa,
dimana alamat yang sama hanya ditampilkan satu kali saja !
SELECT DISTINCT ALAMAT FROM MHS;
7.   
Memilih beberapa
/ semua data dari suatu tabel untuk diurutkan / dikelompokkan :
Tampilkan
semua data dari tabel MHS, dengan nama terurut dari “Z” ke “A” !
SELECT * FROM MHS ORDER BY
NAMA DESC;
Hasil :MHS
| 
NPM | 
NAMA | 
ALAMAT | 
| 
21196353 | Quraish | 
Bogor | 
| 
41296525 | Prananingrum | 
Bogor | 
| 
50096487 | Pipit | 
Bekasi | 
| 
10296832 | Nurhayati | Jakarta | 
| 
31296500 | Budi | 
Depok | 
| 
10296126 | Astuti | 
Jakarta | 
Tampilkan
alamat mahasiswa dan jumlah mahasiswa yang bertempat tinggal di alamat tersebut
!
SELECT ALAMAT, COUNT(*) FROM
MHS GROUP BY ALAMAT;
Hasil :
| 
ALAMAT | 
COUNT(*) | 
| 
Jakarta | 
2 | 
| 
Depok | 
1 | 
| 
Bogor | 
2 | 
| 
Bekasi | 
1 | 
Tampilkan alamat dan jumlah
masiswa yang bertempat tinggal pada alamat yang jumlahnya lebih dari satu !
SELECT ALAMAT, COUNT(*) FROM MHS GROUP BY ALAMAT
HAVING COUNT(*) > 1;
Hasil :
| 
ALAMAT | 
COUNT(*) | 
| 
Jakarta | 
2 | 
| 
Bogor | 
2 | 
8.    Penggunaan
Agreegate Function.
Tampilkan data tertinggi dan
terendah dari nilai Midtest pada KDMK = “KD132” !
SELECT MAX(MID), MIN(MID)
FROM NILAI WHERE KDMK=”KD132”;
Hasil :
| 
MAX(MID) | 
MIN(MID) | 
| 
80 | 
40 | 
Tampilkan rata-rata nilai
final test dan jumlah nilai final test dengan KDMK = “KD132” !
SELECT AVG(FINAL), SUM(FINAL) FROM NILAI        WHERE KDMK=”KD132”;
Hasil :
| 
AVG(FINAL) | 
SUM(FINAL) | 
| 
40 | 
120 | 
NILAI
| 
KDMK | 
FINAL | 
| 
KD132 | 
90 | 
| 
KD132 | 
0 | 
| 
KD132 | 
30 | 
9.   
Contoh lebih dari
satu tabel (Sub Query dan Join ) :
Tampilkan
nama mahasiswa yang mempunyai nilai 
midtest
lebih kecil dari 60 !
Sub Query
SELECT NAMA FROM MHS WHERE
NPM IN ( SELECT NPM FROM NILAI WHERE MID <= 60 );
JOIN :
SELECT NAMA FROM
MHS, NILAI WHERE MHS.NPM = NILAI.NPM AND NILAI.MID <= 60;
Hasil : MHS
| 
NAMA | 
| Nurhayati | 
| Budi | 
| Quraish | 
Sub Query :
SELECT NAMA FROM
MHS WHERE NPM IN (SELECT NPM FROM NILAI WHERE KDMK IN (SELECT KDMK FROM MKUL
WHERE MTKULIAH = “SIM”);
JOIN :
SELECT NAMA FROM
MHS, NILAI, MKUL WHERE MKUL.MTKULIAH=”SIM” AND NILAI.KDMK = MKUL.KDMK AND
MHS.NPM = NILAI.NPM;
10.     Penggunaan Exists / Not Exists
Tampilkan nama mahasiswa yang tidak mengambil KDMK =
“KK021” !          
SELECT NAMA FROM
MHS WHERE NOT EXISTS 
(SELECT * FROM NILAI WHERE
NILAI.NPM = MHS.NPM AND   KDMK = “KK021”
);
Hasil : MHS
| 
NAMA | 
| Astuti | 
| Prananingrum | 
| Pipit | 
| Quraish | 
11.     Penggunaan
Union
Tampilkan
NPM mahasiswa yang bernama Budi dan yang memiliki nilai final > 75 !     
SELECT NPM FROM MHS WHERE
NAMA = “Budi” UNION
SELECT NPM FROM NILAI WHERE
FINAL > 75;
3.                
Data Access
Yaitu perintah
yang digunakan untuk mengontrol hak akses pada suatu database.
Perintah Data
Control Language (DCL) :
·      
GRANT
·      
REVOKE
     Contoh penggunaan perintah
DCL :
·      
Memberikan hak akses UPDATE pada tabel MHS terhadap
user INDRA
     GRANT UPDATE ON MHS TO
INDRA;
·      
Mencabut Hak Akses UPDATE pada tabel MHS dari user
INDRA
     REVOKE UPDATE ON MHS FROM
INDRA;
Kasus
Data Access
1.        
Grant
Sintaks     :-
GRANT hak_akses ON nama_db
                     TO
nama_pemakai 
                     [WITH
GRANT OPTION]
                     [AS
GRANTOR];
                 - GRANT hak_akses ON nama_tabel
                   TO
nama_pemakai
                   [WITH
GRANT OPTION]
                   [AS
GRANTOR]
Contoh    :            
Berikan
hak akses kepada Avi untuk menampilkan nilai final test !
GRANT SELECT(FINAL)  ON NILAI TO AVI;
2.        
Revoke
Sintaks     :-
REVOKE hak_akses ON nama_db 
                                FROM
nama_pemakai;
                             -
REVOKE hak_akses ON nama_tabel
                               FROM nama_pemakai;      
Contoh    :           
Tarik
kembali hak akses untuk   menampilkan
nilai final test dari Avi !
REVOKE
SELECT(FINAL) ON NILAI FROM AVI;
4.                
Data Integrity
Yaitu perintah
yang digunakan untuk mengembalikan data sebelum terjadi kerusakan.
Perintah Recover
Tabel
·      
RECOVER TABLE
     Contoh penggunaan perintah
recover table
·      
Kembalikan keadaan data mahasiswa seperti pada saat
sebelum terjadi kerusakan
     RECOVER TABLE MHS;
5.                
Auxiliary 
Perintah yang
digunakan untuk mengubah data maupun kolom pada tabel.
Perintah
Auxiliary :
·      
UNLOAD
·      
LOAD
·      
RENAME
     Contoh penggunaan Perintah
Auxiliary :
·      
Ubah semua data mahasiswa ke bentuk ASCII dan
disimpak ke file text di directory /home/indra/
     UNLOAD TO
"home/indra" DELIMITER "|" SELECT * FROM MHS;
·       Merubah file text ke tabel MHS_2 di
directory home/indra;
     LOAD FROM "home/indra" DELIMITER "|" INSERT INTO
MHS_2;
·       Merubah nama tabel MHS menjadi KELAS
     RENAME TABLE MHS TO KELAS;
Kasus
Statement Auxiliary
1.  Unload
Sintaks        : UNLOAD TO “nama_path” 
                    [DELIMITER
“char_pemisah”] 
                    SELECT
statement;
Contoh       :           
Merubah semua data mahasiswa
ke  bentuk ASCII dan disimpan ke file
teks di directory /home/avi :
UNLOAD TO “/home/avi/teks” 
DELIMITER “|” SELECT * FROM MHS;
2.   
Load
Sintaks        : LOAD
FROM “nama_path”
                      DELIMITER
“char_pemisah” 
                      INSERT INTO
                nama_tabel [nama_kolom];
Contoh       :           
Merubah file teks ke tabel
MHS_2 di directory /home/avi :
LOAD FROM “/home/avi/teks”
DELIMITER “|” INSERT INTO MHS_2;
3.   
Rename
Sintaks        : RENAME COLUMN nama_kolom_lama 
              TO  Nama_kolom_baru;
Contoh        :           
Mengganti kolom ALAMAT yang
ada pada tabel MHS menjadi KOTA :
RENAME COLUMN MHS.ALAMAT TO KOTA;        
 
 
terimakasih atas infonya
BalasHapusAlat cuci ultrasonic