Anda di halaman 1dari 41

Query Language Komersial dan

Penggunaan SQL

Avid Wijaya, S.ST., MKM


STRUCTURED QUERY LANGUAGE (SQL)

SQL dipublikasikan oleh E.F. CODD (1970) mengenai


model relational. Kemudian pada tahun 1974, D.
Chamberlin dan R.F. Boyce mengembangkan bahasa
query untuk memanipulasi dan mengekstraksi data dari
basisdata relational.
SASARAN SQL

• Menciptakan basis data dan struktur relasi

• Melakukan menajemen data tingkat dasar

• Membentuk query sederhana dan kompleks

• Melakukan tugas-tugas dengan seminimal mungkin memakai struktur


dan sintaks perintah relatif mudah dipelajari
SASARAN SQL

• Interactive SQL
data dalam SQL jenis ini selalu berubah dengan cepat seiring dengan
penggunaannya yang sering/interaktif.

• Static SQL
data dalam SQL ini selalu tetap dalam periode waktu yang cukup lama.
Biasanya berisi data-data yang mengalami waktu perubahan yang
cukup lama.

• Dynamic SQL
data dalam jenis SQL ini berubah dalam periode waktu tertentu.
PEMBAGIAN SQL

• DDL (Data Definition Language)


digunakan untuk mendefinisikan struktur atau skema basis
data

• DML (Data Manipulation Language)


digunakan untuk manajemen data dalam basis data
PENGELOMPOKAN STATEMEN SQL

1. Data Definition Language


(DDL)
CREATE DROP
DATABASE DATABASE
CREATE TABEL DROP TABEL
CREATE INDEX DROP INDEX
CREATE VIEW DROP VIEW
ALTER TABLE
2. Data Manipulation Language
(DML)
INSERT, SELECT, UPDATE, DELETE
3. Data Access
GRANT , REVOKE
4. Data Integrity
RECOVER TABLE
5. Auxiliary
Select Into Outfile (UNLOAD),
LOAD, RENAME TABLE
D D L

 CREATE

1. Pembuatan Database
Nama Database adalah yang dapat mewakili
suatu kejadian dapat berupa nama organisasi
atau perusahaan.

Sintaks : CREATE DATABASE

nama_database Contoh : Buat

database dengan nama latihan


CREATE DATABASE latihan
2. Pembuatan
Tabel

Sintaks :
CREATE TABLE nama_table
( nama_kolom1 tipe_data_kolom1,
nama_kolom2,tipe_data_kolom2,….)
Contoh :
Buat struktur tabel dengan nama tabel
MHS dengan data NPM char(8), NAMA
char(25), ALAMAT char(30)

CREATE TABLE MHS (NPM char(8) not


null,
NAMA char(25) notnull, ALAMAT char(30)
notnull)
3. Pembuatan
Index

Sintaks : CREATE [UNIQUE] INDEX


nama_index
ON nama_table (nama_kolom) ;
Contoh :
Buat index data mahasiswa berdasarkan denga
NPM n
nama MHSIDX Dimana NPM tidak boleh sama
CREATE UNIQUE INDEX MHSIDX ON
MHS(NPM)
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
 DROP (MENGHAPUS)

1.Menghapus Database
Sintaks : DROP DATABASE
nama_db ;
2.Menghapus Tabel
Sintaks : DROP TABLE
nama_table ;
3.Menghapus Index
Sintaks : DROP INDEX
nama_index ;
4.Menhapus View
Sintaks : DROP VIEW
nama_view ;

Contoh :
DROP DATABASE Mahasiswa;
 ALTER TABLE (MERUBAH STRUKTUR
TABEL)

Sintaks :
ALTER TABLE nama_tabel
ADD nama_kolom
CHANGE [COLUMN]
jenis_kolom oldnama newnama
[FIRST | AFTER
MODIFY
nama_kolom] jenis kolom,
nama_kolom
DROP nama_kolom
RENAME
namabaru_tabel
Contoh :
1.Tambahkan kolom JKEL dengan panjang 1
char
pada tabel MHS
ALTER TABLE MHS ADD JKEL char(1);
2.Ubah panjang kolom MTKULIAH menjadi 30 char
ALTER TABLE MKUL MODIFY
COLUMN MTKULIAH char(30);
3.Hapus kolom JKEL dari data table MHS
ALTER TABLE MHS DROP JKEL;
D M L

 INSERT
INSERT INTO Nama_tabel
[(nama_kolom1,…)] VALUES
(data1,data2,,,)

Contoh :
Masukan data matakuliah Berkas Akses
dengan
kode KK222 dan besarnya 2

INSERT MKUL VALUES(“KK222”,”Berkas


Akses”, 2);
 UPDATE

Sintaks :
UPDATE nama_tabel
SET nama_kolom = value_1
WHERE kondisi ;
Contoh :
Ubah alamat menjadi “Depok” untuk mahasiswa
yang memiliki NPM “50409486”
UPDATE MHS SET ALAMAT=”Depok”
WHERE NPM=”50409486”;
 DELETE

Sintaks : DELETE FROM


nama_table
WHERE kondisi
Contoh
Hapus : data nilai matakuliah “KK021” bag
mahasiswa yang mempunyai NPM “ i
10109832”
DELETE FROM NILAI
WHERE NPM=”10109832” AND
KDMK=”KK021”
Tabel dibawah ini untuk mengerjakan Select (tampilan) dari SQL

Tabel Mahasiswa Tabel Nilai


NPM NAMA_MHS ALAMAT_MHS NPM NO_MK MID FINAL
10109832 Nurhayati Jakarta 10109832 KK021 60 75
10109126 Astuti Jakarta 10109126 70 90
32105500 Budi Depok
41200525 Prananigrum Bogor 32105500 KD132 55 40
50409486 Pipit Bekasi 41200525 90 80
21109353 Quraish Bogor 21109353 KK021 75 75
10109001 Fintri Depok
21108002 Julizar Jakarta
50409486 80 0
KU122
Tabel MataKuliah KU122
KD_MK NAMA_MK SKS
KD132
KK021 Sistem Basis Data 2
KD132 Sistem Informasi Manajemen 3
KU122 Pancasila 2
 SELECT

Sintaks :
SELECT [DISTINCT | ALL]
nama_kolom
FROM nama_tabel
[ WHERE condition ]
[ GROUP BY column_list ]
[HAVING condition ]
[ ORDER BY column_list [ASC | DESC]]
Contoh :
a. Tampilkan semua data mahasiswa

SELECT NPM,NAMA,ALAMAT FROM MAHASISWA;


Atau
SELECT * FROM MAHASISWA;

Hasil: NPM NAMA_MHS ALAMAT_MHS


10109832 Nurhayati Jakarta
10109126 Astuti
31209500 Budi Jakarta
41209525 Prananin Depok
grum Bogor
b. Tampilkan Mata Kuliah yang SKSnya 2
Select NAMA_MK from matakuliah Where sks =
2

Hasil : NAMA_MK
Sistem Basis Data
Pancasila
c. Tampilkan semua data nilai dimana nilai MID lebih
besar sama dengan 60 atau nilai finalnya lebih besar
75.
SELECT * FROM NILAI WHERE MID >= 60 OR
FINAL > 75
Hasilnya :
NPM NO. MK MID FINAL
10109832 KK021 60 75
10109126 70 90
41209525 KD132 90 80
21109353 75 75
KU122

KU122
Manipulasi string : LIKE, NOT LIKE, %,

Contoh :

1.SELECT npm,nama FROM NPM NAMA_MHS ALAMAT_MHS


mahasiswa
10109832 Nurhayati Jakarta
41200525 Prananigrum Bogor
WHERE nama LIKE „%a%21109353 Quraish Bogor
21108002 Julizar Jakarta
Hasil :
2. SELECT npm,nama FROM
mahasiswa
NPM NAMA_MHS ALAMAT_MHS
WHERE nama NOT LIKE „%a%
Hasil 10109126 Astuti Jakarta
32105500 Budi Depok
50409486 Pipit Bekasi
10109001 Fintri Depok
3. SELECT * FROM nilai WHERE npm LIKE „???
09%‟

4. SELECT * FROM nilai WHERE npm[4,5]=„09‟

NPM NO_MK MID FINAL


10109832 KK021 60 75
10109126 70 90
21109353 KD132 75 75
50409486 80 0
KU122

KD132
5. SELECT DISTINCT alamat_mhs
FROM
ALAMAT_MHS
MAHASISWA
Jakarta
Depok
Bogor
Bekasi

6. SELECT * FROM matakuliah ORDER BY


sks
KD_MK NAMA_MK SKS
KK021 Sistem Basis Data 2
Pancasila 2
KU122 Sistem Informasi 3
Manajemen
KD132
DATA ACCESS
 GRANT
Sintaks GRANT hak_akses ON
: nama_db TO
nama_pemakai [IDENTIFIED
BY] [PASSWORD]
„Password‟
[WITH GRANT OPTION] ;
GRANT hak_akses ON

[nama_db.]nama_tabel
TO nama_pemakai
[IDENTIFIED BY]
[PASSWORD]
„Password‟
[WITH GRANT
OPTION];
Contoh :
DATA ACCESS

 REVOKE
Sintaks : REVOKE hak_akses ON nama_db
FROM nama_pemakai ;

REVOKE hak_akses ON

nama_tabel
FROM nama_pemakai ;

Contoh :
Tarik kembali dari Adi hak akses untuk
menampilkan nilai final test

REVOKE SELECT (FINAL) ON NILAI FROM ADI


DATA
INTEGRITY

 RECOVER TABLE
Sintaks : RECOVER TABLE nama_tabel

Contoh :
Kembalikan keadaan data mahasiswa seperti pada
saat
sebelum terjadi kerusakan

RECOVER TABLE MAHASISWA ;


AUXILIARY

SELECT … INTO OUTFILE ‘filename’


Sintaks ini digunakan untuk mengekspor data dari
tabel ke file lain.
Sintaks : SELECT … INTO
OUTFILE ‘Nama File’
[FIELDS | COLUMNS]
[TERMINATED BY 'string']
[[OPTIONALLY]
ENCLOSED BY 'char']
[ESCAPED BY 'char'] ]
Contoh :

Ubah semua data mahasiswa ke bentuk ASCII


dan disimpan ke file teks di directory/home/adi
dengan pemisah antar kolom „|‟
SELECT * FROM MAHASISWA
INTO OUTFILE “/home/adi/teks”
FIELDS TERMINATED BY “ ”;

Atau

UNLOAD TO “/home/adi/teks.txt”
delimiter “|” SELECT * FROM MAHASISWA;
LOAD

Sintaks Kueri ini digunakan untuk mengimpor data


dari
file lain ke tabel.

Sintaks LOAD DATA INFILE “ nama_path”


: INTO TABLE nama_tabel
[ nama_kolom] ; [FIELDS | COLUMNS]
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char'] ]
Contoh :
Memasukkan data dari file teks yang berada
pada
direktori “/home/adi” ke dalam tabel
MHS_2. Dimana
pemisah antara kolom dalam file teks adalah tab (\t) :

LOAD FROM „/home/adi/teks‟


INTO MHS_2
FILELDS TERMINATED BY „|t‟;

Atau

LOAD FROM “/home/adi/teks.txt” delimiter


“|” INSERT INTO mhs_2
RENAME TABLE

Sintaks : RENAME TABLE


Oldnama_Tabel
TO NewNama_Tabel

Contoh :
RENAME TABLE MAHASISWA TO
MHS
FUNGSI
AGGREGATE

COUNT digunakan untuk menghitung jumlah


record. Menghitung jumlah record mahasiswa
dari tabel MAHASISWA
SELECT COUNT(*) FROM MAHASISWA
hasil : 8

SUM digunakan untuk menghitung total dari


kolom yang mempunyai tipe data numerik.
SELECT SUM(SKS) AS „TOTAL SKS‟
FROM
MATAKULIAH
hasil : TOTAL
SKS 7
AVG digunakan untuk menghitung rata-rata dari
data-data dalam sebuah kolom.
SELECT AVG(FINAL) AS ‘FINAL’ FROM Nilai
hasil : 60

MIN digunakan untuk menghitung nilai minimal dalam sebuah


kolom.
SELECT MIN(FINAL) FROM Nilai
hasil : 40

MAX digunakan untuk menghitung nilai maksismum dalam


sebuah kolom
SELECT MAX(MID) FROM Nilai
hasil : 90
1. Tampilkan nilai final tertinggi
SELECT MAX( final) FROM 'Nilai'
2. Tampilkan nilai final terendah
SELECT MIN( final) FROM 'Nilai„;
SELECT MIN(final), MAX(final) FROM nilai
3. Tampilkan rerata dari nilai MID dan FINAL
SELECT AVG(mid),AVG(final) FROM mhs
4. Menampilkan nama yang mengandung hurus a kecil
SELECT npm, nm_mhs FROM 'mhs' where nm_mhs LIKE
'%a%'
5. Tampilkan npm,kd_mk,mid untuk nilai mid antara 70 sd 90
SELECT npm, kd_mk, mid FROM `nilai` WHERE mid <91 AND mid >69
atau
SELECT npm, kd_mk, mid FROM `nilai` WHERE mid BETWEEN 70 AND
90
6.Tampilkan npm,nm_mhs,kd_mk,final untuk semua mahasiswa SELECT nilai.NPM, nm_mhs, kd_mk, final
FROM mhs, nilai WHERE mhs.NPM = nilai.NPM
7. Tampilkan npm,nm_mhs,nama_mk,mid,final untuk semua
mahasiswa
SELECT nilai.NPM, nm_mhs, nama_mk, mid, final
FROM mhs, nilai, matkul
WHERE mhs.NPM = nilai.NPM AND matkul.kd_mk = nilai.kd_mk
8. Tampilkan nm_mhs,nama_mk,mid, mid, final untuk
semua
mahasiswa yang nilai mid>60 dan final>60
SELECT nm_mhs, nama_mk, mid, final
FROM mhs, matkul, nilai
WHERE mhs.NPM = nilai.NPM AND
matkul.kd_mk = nilai.kd_mk
AND mid>60 and final>60

9. Tambahkan kolom FAKULTAS pada tabel


Mahasiswa
ALTER TABLE `mhs` ADD `Fak`
VARCHAR(50) NOT NULL;

10. Tambahkan data mahasiswa dari mhs1.txt


11.Ubah nilai dari fak dari ketentuan, ambil 1digit ke 3 dari NPM
Jika : nilainya 1 maka fak=FIKTI
nilainya 2 maka fak=FE
niainya 3 maka fak=FTSP
ni1ainya 4 maka fak=FTI
ni1ainya 5 maka fak=FPSI
ni1ainya 6 maka
fak=FSAS
UPDATE mhs SET
fak='FIKTI' WHERE npm
LIKE ‘ %1%'; dst
Atau
UPDATE mhs SET
fak=‟FIKTI‟ WHERE
13.Tampilkan npm, nama, kdmk, mid,final untuk semua ,
diurutkan berdasarkan nama mahasiswa dari besar ke kecil

14.Tampilkan jumlah kdmk,nama matakuliah untuk semua


matakuliah yang diambil oleh mahasiswa

15.Tampilkan nilai rerata mid untuk setiap kdmk


Select kdmk,avg(mid) from nilai group by kdmk
THANK YOU

Anda mungkin juga menyukai