SQL Dasar
1.
Pengenalan Query
SQL
(Structure Query Language) adalah bahasa yang digunakan untuk melayani
relasional system database. SQL secara
garis besar terdiri dari 4 macam, yaitu :
a)
DDL (Data Definition Language) DDL adalah suatu pernyataan untuk
mendefinisikan struktur atau skema database. Contoh :
·
Create , untuk membuat object dalam database,
bisa berupa table, view, procedure, function, trigger, ataupun package
(oracle). Contoh : create table mahasiswa (npm char(7) not null primary
key,nama char(30), alamat char(50));
·
Alter, untuk mengubah structur dari suatu objek
dalam database.contoh : alter table mahasiswa add email char(30)
·
Drop, untuk menghapus objek dalam database, contoh:
drop table mahasiswa;
·
Truncate, untuk menghapus/membersihkan isi table
beserta alokasi space yang ada di dalamnya, contoh : truncate table mahasiswa
·
Comment, memberikan keterangan/komentar pada ke
dalam kamus data. berisi deskripsi dari
sebuah objek dalam database.
·
Rename, mengganti nama objek dalam
database.(Mysql, Oracle)
b)
DML (Data Manipulation Language) DML adalah pernyataan yang digunakan untuk
mengorganisir data dengan menggunakan skema objek.
·
Select, untuk menyeleksi data dari dalam
database. contoh : select npm, nama, alamat from mahasiswa;
·
Insert, untuk menginputkan record ke dalam suatu
table. contoh : insert into
mahasiswa(npm,nama,alamat) values(‘0401034’,’Abdul Malik Ikhsan’,’Jalan Jakarta
No. 28’)
·
Update, untuk melakukan update dari table yang
sudah dibuat. contoh : update mahasiswa set npm=’001’ where npm=’0401034’;
·
Delete, untuk menghapus isi record baik semuanya
ataupun sebagian dari suatu table, cotoh : -delete from mahasiswa (menghapus
semua isi ) -delete from mahasiswa where npm = ‘001’(hanya pada kondisionalnya
saja).
·
Merge,
penggabungan update, insert, delete pada suatu table berdasarkan kondisi yang
cocok. (Oracle).
·
EXEC, memanggil procedure yang telah kita buat.
contoh : kita buat procedure seleksimhs: create procedure seleksimhs @npm
char(7) as select * from mahasiswa where npm=@npm.
·
cara
eksekusi : EXEC seleksimhs ‘001’;
c)
DCL (Data Control Language)
Terdiri dari 2 statement, yaitu Grant, Revoke, dan DENY, Grant untuk memberikan hak akses, dan Revoke
untuk membuang hak yang telah dilarang dengan perintah Deny atau hak yang telah
diberikan oleh perintah GRANT, sedangkan Deny.
Contoh GRANT : GRANT INSERT, UPDATE, DELETE On mahasiswa To public
Contoh REVOKE Revoke SELECT On mahasiswa To Public
Contoh DENY DENY SELECT On mahasiswa To Public
d)
TCL (Transaction Control)
Pernyataan untuk mengelola
perubahan yang dilakukan oleh DML.
9 COMMIT => menyimpan hasil perintah
9 SAVEPOINT => identifikasi point transaksi yang akan digunakan
nantinya.
9 ROLLBACK => Restore database ke kondisi commit terakhir.
9
SET TRANSACTION => mengubah level transaksi.
PERCOBAAN PRAKTIKUM
(Latihan-1) :
Persiapan :
·
Aktifkan Service Manager Ms-SQL Servernya
·
Aktifkan Query Analizer
·
Ketikkan perintah-perintah di bawah ini, dan
amati hasilnya.
1.
Membuat database dengan nama “akademik”,ketik
:
create database akademik [Tekan F5, lihat
hasilnya]
2.
Mengaktifkan database akademik, ketik : use akademik
[Tekan F5, lihat hasilnya]
3.
Membuat struktur data/tabel dengan nama tabel
“mahasiswa” dan field serta type data-nya, ketik : create table mahasiswa(npm char(7) not null
primary key,nama_mahasiswa char(40), alamat char(50))
4.
Mengisi nilai data kedalam database akademik
untuk tabel mahasiswa, ketik : (dalam contoh ini diberikan perintah untuk
mengisi sebanyak 3 record/baris data, Anda isikan 10 record)
Ø
insert into mahasiswa(npm,nama_mahasiswa,alamat)
values('0401034','Abdul Malik Ikhsan', 'Jalan Jakarta No. 28')
Ø
insert into mahasiswa(npm,nama_mahasiswa,alamat)
values('0501021','Moch. Ali Aljauhari', 'Jalan Cicadas No. 22')
Ø
insert into mahasiswa(npm,nama_mahasiswa,alamat)
values('0402002','Moh. Ryan Dirhamsyah', 'Jalan Gagak No. 55')
5.
Menampilkan seluruh data dari tabel mahasiswa,
ketik : select * from mahasiswa
6.
Menampilkan data NPM dari tabel mahasiswa, ketik
: select npm from mahasiswa
7.
Menampilkan data NPM, Nama Mahasiswa dan Alamat
dari Tabel mahasiswa, ketik :
select npm,nama_mahasiswa,alamat from
mahasiswa
8.
Menampilkan data mahasiswa yang NPM-nya hanya
“0401034”, ketik :
select * from mahasiswa where npm =
'0401034'
9.
Menampilkan data mahasiswa yang NPM-nya
mengandung nilai “040”, ketik :
select * from mahasiswa where npm like
'%040%'
10.
Menampilkan data mahasiswa yang NPM-nya
berawalan nilai “040”, ketik :
select * from mahasiswa where npm like
'040%'
11.
Menampilkan data mahasiswa yang NAMA-nya
mengandung nilai “Mo”, ketik :
select * from mahasiswa where
nama_mahasiswa like '%Mo%'
12.
Mengubah struktur tabel untuk field
nama_mahasiswa dari type char(40) menjadi type char(60): alter table mahasiswa alter column
nama_mahasiswa char(60)
13.
Mengubah struktur tabel untuk menambah field
baru yaitu email dengan type char(20) :
alter table mahasiswa add email
char(20)
select * from mahasiswa
14.
Mengubah nilai data email dari tabel mahasiswa
untuk data NPM tertentu :
update mahasiswa set email
='samsonasik@gmail.com' where npm='0401034'
select * from mahasiswa
15.
Menghapus data mahasiswa yang NPM-nya tertentu
:
delete from mahasiswa where
npm='0402002'
16.
Menghapus field yang menampung seluruh isi data
email:
alter table mahasiswa drop column
email
select * from mahasiswa
Ketikkan
perintah-perintah di bawah ini, artikan dan amati hasilnya.
/* -------------------- */
create table matakuliah(kdmk char(7) not null primary
key,nama_matakuliah char(50),sks int)
insert into matakuliah(kdmk,nama_matakuliah,sks)
values('a001','SQL',3)
insert into matakuliah(kdmk,nama_matakuliah,sks)
values('a002','PHP',4)
select * from matakuliah
/* untuk penerapan update,delete,alter dapat diterapkan
seperti pada tabel mahasiswa :) */
create table dosen(kd_dosen char(7) not null primary
key,nama_dosen char(30), alamat_dosen char(40))
insert into dosen(kd_dosen,nama_dosen,alamat_dosen)
values('d001','Andi Supriatna','Jalan Labuhan')
insert into dosen(kd_dosen,nama_dosen,alamat_dosen)
values('d002','Anton Budiatmadja','Jalan Jakarta No. 40')
select * from dosen
/* untuk penerapan update,delete,alter dapat diterapkan
seperti pada tabel mahasiswa :) */
create table perkuliahan(id_kuliah int not null primary
key,npm char(7),semester char(2))
insert into perkuliahan(id_kuliah,npm,semester)
values(1,'0401034','1')
/* untuk penerapan update,delete,alter dapat diterapkan
seperti pada tabel mahasiswa :) */
create table nilai(id_nilai int,kd_mk char(7),kd_dosen
char(7), nilai char(2));
insert into nilai(id_nilai,kd_mk,kd_dosen,nilai)
values(1,'a001','d001','A')
insert into nilai(id_nilai,kd_mk,kd_dosen,nilai)
values(1,'a002','d002','B')
select * from nilai;
/* gabungkan seluruh tabel
kita akan mencoba menampilkan nama mahasiswa, nama matakuliah yang
diambil, dan nilai yang didapat, beserta
nama dosen nya..., tentunya yang
id_kuliahnya = id_nilai :)
anggap tabel
mahasiswa adalah tabel a, tabel matakuliah adalah tabel b, tabel dosen adalah tabel c, tabel
perkuliahan adalah tabel d, tabel nilai
adalah tabel e */
select
a.nama_mahasiswa, b.nama_matakuliah, e.nilai, c.nama_dosen from mahasiswa a,
matakuliah b, nilai e, dosen c, perkuliahan d where a.npm=d.npm and
b.kdmk=e.kd_mk and e.id_nilai=d.id_kuliah and e.kd_dosen=c.kd_dosensumber : Blastermind