SQL STUCTURE QUERY LANGUAGE 1 PENGERTIAN SQL Merupakan bahasa query standar yang digunakan untuk mengakses basis data relasional Jenis SQL yaitu 1. interactive langsung dapat diperasikan 2. embedded disisip ke dalam sebuah program PENGELOMPOKAN SQL create select alter table drop Update insert DDL delete DML grant revoke DCL DATA DEFINITION LANGUAGE [DDL] perintah2 yang digunakan untuk mendefinisikan (menciptakan, tambah/mengubah/hapus) sturktur data/tabel Pembuatan Database create database nama_db; Contoh : buatlah database dengan nama praktikum create database praktikum; Pembuatan Tabel create table nama_tabel (nama_kolom1 jenis_kolom1, nama_kolom2 jenis_kolom2, ….) Contoh : buatlah tabel Nilai dgn kolom, npm, nama, lp, la create table nilai (npm char(8) not null, nama char (25), lp int(2), la int(2)); Merubah Struktur Table alter table nama_tabel add (nama_kolom jenis_kolom) modify (nama_kolom jenis_kolom) drop (nama_kolom jenis_kolom); Contoh Tambahkan kolom kelas dengan panjang 5 karakter sebelum kolom lp alter table nilai add(kelas char(5) before lp); Ubahlah panjang kolom nama menjadi 30 karakter alter table nilai modify(nama char(30)); Hapus kolom kelas dari tabel nilai alter table nilai drop(kelas char(5)); DATA MANIPULATION LANGUAGE Merupakan perintah yang digunakan untuk memanipulasi database INSERT insert into nama tabel (nama_kolom1, nama_kolom2…) values (data1, data2…) contoh : 1. insert into nilai values(‘10111510’,’namira’,89,90); 2. insert into nilai (npm, lp, la) values(‘10111610’,80,60); UPDATE update nama_tabel set nama_kolom = ekspresi where kondisi ; Contoh Ubahlah lp menjadi 80 untuk mahasiswa yang memiliki npm ‘10111456’ update nilai set lp=80 where npm =‘101111456’; Ubahlah lp menjadi 65 untuk mahasiswa kelas 1IA05 update nilai set lp=65 where kelas =“1IA05”; DELETE delete from nama_tabel where kondisi; CONTOH Hapuslah mahasiswa yang mempunyai nama ‘aurel’ delete from nilai where nama=‘aurel’; SELECT select [distinct] nama_kolom from nama_tabel; [where kondisi] [group by nama-kolom] [having kondisi] [order by nama_kolom [asc/des]]; CONTOH Tabel mhs NPM NAMA ALAMAT 10296832 Nurhayati Jakarta 10296126 Astuti Jakarta 31296500 Budi Depok 41296525 Prananingrum Bogor 50096487 Pipit Bekasi 21196353 quraish Bogor Tabel mkul KDMK MTKULIAH SKS KK021 P. Basis Data 2 KD132 SIM 3 KU122 Pancasila 2 Tabel nilai NPM KDMK MID FINAL 10296832 KK021 60 75 10296196 KD132 70 90 31296500 KK021 55 40 41296525 KU122 90 80 21196353 KU122 75 75 50097487 KD132 80 0 10296837 KD132 40 30 Tampilkan semua data mahasiswa Select npm,nama,alamat from mhs; Atau Select * from mhs; Tampilkan mata kuliah yang sks-nya 2 select mtkuliah from mkul where sks = 2; Hasil : Apa hasilnya? select * from nilai where mid >=60 or final <75; select npm, kdmk, mid from nilai where mid between 70 and 100; MTKULIAH P. Basis Data Pancasila Tampilkan nama mahasiswa yang diawali dengan huruf ‘P’ Select nama from mhs where nama like ‘P%’; Tampilkan alamat mahasiswa, dimana alamat yang sama hanya ditampilkan satu kali saja. select distinct alamat from mhs; ALAMAT Jakarta Depok Bogor Bekasi Tampilkan semua data dengan nama terurut dari z ke a Select * from mhs order by nama desc; Tampilkan alamat mahasiswa dan jumlah mahasiswa yang bertempat tinggal di alamat tersebut Select alamat, count(*) from mhs Group by alamat; Alamat Count(*) Jakarta 2 Depok 1 Bogor 2 Bekasi 1 Tampilkan alamat dan jumlah mahasiswa yang bertempat tinggal pada alamat yang jumlahnya lebih dari satu select alamat, count(*) from mhs group by alamat having count (*) > 1; ALAMAT COUNT(*) Jakarta 2 Bogor 2 DATA CONTROL LANGUAGE Berisi perintah-perintah untuk mngendalikan pengaksesan data. GRANT memberikan kendali pada pengaksesan data Contoh: memberikan akses kepada aurel untuk memodifikasi data dari tabel nilai grant update on nilai to aurel; REVOKE mencabut kemampuan pengaksesan data Contoh : Mencabut hak menghapus data pada tabel nilai untuk toriq revoke delete on nilai from toriq;