Pengenalan SQL untuk Basis Data
Pengenalan SQL untuk Basis Data
BAB IX
STRUCTURED QUERY LANGUAGE (SQL)
BAB IX
1. Pengenalan SQL
SQL dapat digunakan baik secara interaktif atau ditempelkan (embedded) pada
sebuah program aplikasi.
Saat ini banyak software database yang menggunakan SQL sebagai perintah
untuk mengakses database, diantaranya :
• DB2 • Microsoft Access
• Ingres • MySQL
• Informix • PostgreSQL
• ORACLE • Sybase
1
Pengantar Basis Data
BAB IX
1. Pengenalan SQL
Pada praktiknya implementasi SQL sangat bervariasi artinya tidak semua fitur
didukung
SQL did k oleh
l h vendor
d perangkat
k t llunak dimana b
k DBMS di beberapa
b perintah
i t h SQL
memiliki sedikit perbedaan
MySQL sebagai database server juga mendukung perintah SQL dimana secara
khusus MySQL juga menambahkan sejumlah fungsi yang membuat perintah SQL
pada MySQL sangat variatif
BAB IX
1. Pengenalan SQL
Permintaan dari klien dan tanggapan database server MySQL :
Permintaan
P i t berupa
pernyataan, seperti :
SELECT * FROM
tb_mahasiswa;
2
Pengantar Basis Data
BAB IX
BAB IX
• CREATE TABLE, digunakan untuk membuat tabel baru pada basis data
yang sedang aktif
3
Pengantar Basis Data
BAB IX
BAB IX
Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut
otomatis akan dihapus atau tidak akan berfungsi seperti :
• Semua record dalam tabel akan terhapus
• Index dan view pada tabel akan hilang
• Deskripsi tabel akan hilang
4
Pengantar Basis Data
BAB IX
Contoh :
BAB IX
5
Pengantar Basis Data
BAB IX
Klausa WHERE bersifat optional, artinya bila klausa ini disertakan maka
hanya baris-baris tertentu saja yang memenuhi kondisi yang akan diubah
dan jika klausa ini tidak disertakan maka semua baris akan diubah
Contoh : UPDATE tb_mahasiswa
SET mhs_nama = ’Nyoman Sudyasa Karang’, mhs_tgllahir = ’
1982-12-20’ WHERE nim = ’1005020001’;
BAB IX
Apabila klausa WHERE tidak disertakan, maka semua baris pada tabel
bersangkutan (yang disebutkan dalam FROM) akan dihapus
6
Pengantar Basis Data
BAB IX
BAB IX
7
Pengantar Basis Data
BAB IX
BAB IX
4. DML (Data Manipulation Languange) - SELECT
8
Pengantar Basis Data
BAB IX
4. DML (Data Manipulation Languange) - SELECT
Adakalanya dari jumlah kolom yang banyak pada sebuah tabel tertentu
hanya dikehendaki untuk menampilkan beberapa kolom-kolom saja
BAB IX
4. DML (Data Manipulation Languange) - SELECT
Bila baris dalam suatu tabel sangat banyak, menampilkan semua baris
tidaklah praktis, bisa dipilih baris tertentu saja yang memenuhi suatu
kriteria yang Anda tentukan sendiri
Sintaks : SELECT <field_list> FROM nama_tabel
WHERE kondisi
Contoh : SELECT nip, peg_nama FROM tb_pegawai WHERE peg_sex=’L’;
+-------+-------------+
| nip | peg_nama |
+-------+-------------+
| 12346 | Ahmad Dhani |
| 12347 | Wayan Kelor |
| 12349 | Dhani Akbar |
| 12350 | Ali Akbar |
| 12351 | Tora Sudiro |
| 12352 | Made Mantra |
| 12353 | Rahul |
+-------+-------------+
9
Pengantar Basis Data
BAB IX
4. DML (Data Manipulation Languange) - SELECT
Query diatas tidak dapat menampilkan nama pegawai yang nama kotanya
bernilai NULL. Sebagai alternatif pakailah operator IS NULL :
SELECT * FROM tb_pegawai WHERE peg_kota IS NULL;
+-------+-------------+----------+--------------+---------+
| nip | peg_nama | peg_kota | peg_tgllahir | peg_sex |
+-------+-------------+----------+--------------+---------+
| 12345 | Dian Sastro | NULL | 1982-12-23 | W |
+-------+-------------+----------+--------------+---------+
1 row in set (0.02 sec)
Hasil query diatas menghasilkan bahwa memang ada 1 baris data yang
nama kotanya masih bernilai NULL
BAB IX
4. DML (Data Manipulation Languange) - SELECT
+-------+--------------+----------+--------------+---------+
| nip | peg_nama | peg_kota | peg_tgllahir | peg_sex |
+-------+--------------+----------+--------------+---------+
| 12345 | Dian Sastro | NULL | 1982-12-23 | W |
| 12347 | Wayan Kelor | Bali | 1982-10-12 | L |
| 12352 | Made Mantra | Bali | 1983-11-12 | L |
| 12353 | Rahul | Jakarta | 1984-08-02 | L |
| 12354 | Inne Safitri | Yogya | 1982-08-13 | W |
+-------+--------------+----------+--------------+---------+
10
Pengantar Basis Data
BAB IX
4. DML (Data Manipulation Languange) - SELECT
Contoh : menampilkan semua pegawai yang berasal dari Yogya atau Bali
SELECT * FROM tb_pegawai WHERE (peg_kota = ’Jakarta’) OR
(peg_kota = ’Bali’);
+-------+--------------+----------+--------------+---------+
| nip | peg_nama | peg_kota | peg_tgllahir | peg_sex |
+-------+--------------+----------+--------------+---------+
| 12347 | Wayan Kelor | Bali | 1982-10-12 | L |
| 12348 | Dira Nuraini | Jakarta | 1980-08-09 | W |
| 12352 | Made Mantra | Bali | 1983-11-12 | L |
| 12353 | Rahul | Jakarta | 1984-08-02 | L |
+-------+--------------+----------+--------------+---------+
BAB IX
4. DML (Data Manipulation Languange) - SELECT
Contoh : menampilkan semua pegawai yang berasal dari kota Yogya dan
berjenis kelamin laki-laki
SELECT * FROM tb_pegawai WHERE (peg_kota = ’Yogya’) AND
(peg_sex = ’L’);
+-------+-------------+----------+--------------+---------+
| nip | peg_nama | peg_kota | peg_tgllahir | peg_sex |
+-------+-------------+----------+--------------+---------+
| 12346 | Ahmad Dhani | Yogya | 1981-03-13 | L |
| 12349 | Dhani Akbar | Yogya | 1981-05-13 | L |
| 12351 | Tora Sudiro | Yogya | 1979-03-13 | L |
+-------+-------------+----------+--------------+---------+
11
Pengantar Basis Data
BAB IX
4. DML (Data Manipulation Languange) - SELECT
BAB IX
4. DML (Data Manipulation Languange) - SELECT
Sebelum mendapatkan data yang unik pada sebuah field, lakukan query
berikut (kota asal pegawai tidak unik, banyak yang kembar) :
SELECT peg_kota FROM tb_pegawai;
+----------+
| peg_kota |
+----------+ Misalnya kita ingin mengetahui di kota mana saja
| NULL |
| Yogya |
pegawai bertempat tinggal, maka query nya bisa
| Bali |
berbentuk :
| Jakarta |
| Yogya | SELECT DISTINCT peg_kota FROM tb_pegawai;
| Klaten | +----------+
| Yogya | | peg_kota |
| Bali | +----------+
| Jakarta | | NULL |
| Yogya | | Yogya |
+----------+ | Bali |
| Jakarta |
| Klaten |
+----------+
Goto Session 2
12