Hai! Hai! Minna-san..
Setelah sekian lama, kali ini kita akan belajar mengenai
SQL. Mungkin kata-katanya masih asing, kan? Apa sih SQL?
SQL atau structured query language adalah suatu pernyataan
atau perintah standart untuk keperluan administrasi database.
SQL ini memiliki banyak software pendukung yang disebut SQL
based DBMS (Database Management System). Beberapa di antaranya adalah MySQL,
Oracle, MS. Access, MS. SQL, SQL Server dll.
Dan mungkin kalian bertanya-tanya mengapa bab pengenalan SQL
ini diberikan.. sebab materi-materi selanjutnya akan membahas tentang
penggunaan database. Untuk saat ini, software yang akan kita gunakan adalah
MySQL. Mengapa? Sebab MySQL bersifat free alias gratis, kawan-kawan.
Tentang Database
Ibaratnya, database itu sebuah wadah untuk menyimpan data. Agar
lebih mudah diatur, data itu disimpan dalam bentuk tabel.
Ibaratnya lagi, database itu lemari kabinet. Laci-laci lemari
ini berisi dokumen atau data. Laci diumpamakan tabel database dan dokumen
diibaratkan data atau record database. Coba bayangkan! Kalo gak bisa, berarti
imajinasi kalian kurang, segera liat Spongebob supaya dapat pencerahan.
Pada tabel pasti ada baris dan kolom. Nah, pada database
kolom ini disebut field dan barisnya disebut record.
Tentang PhpMyAdmin
PhpMyAdmin ini termasuk salah satu software MySQL yang
berguna untuk pengadministrasian database supaya mudah dilakukan. Software ini
merupakan web based software yang dijalankan melalui URL:
Jika kalian menggunakan AppServ atau XAMPP, ketika URL di
atas dipanggil maka akan langsung masuk ke PhpMyAdmin.
Catatan:
Sebelum masuk PhpMyAdmin biasanya kita disuruh memasukkan
username dan password. Username dan password sesuai dengan yang pernah kita
masukkan ketika menginstal AppServ. Kalau kalian lupa, solusinya adalah
mengingat-ingat, karena aku sendiri juga lupa hehe.
Membuat Database
Pasti dalam benak kalian semua refleks bilang ‘Gimana
caranya?’.
Langsung saja, oke, caranya adalah mengisikan nama database
yang akan kalian dibuat ke bagian kotak CREATE NEW DATABASE lalu klik tombol
CREATE.
Misal kalian buat database dengan nama ‘perpustakaan’
Tips: sebaiknya nama database jangan menggunakan spasi.
Membuat Tabel
Setelah database dibuat, kita bisa buat tabelnya. Caranya ketikkan
nama tabel yang akan dibuat pada bagian CREATE NEW TABLE ON DATABASE XXX. ‘XXX’
adalah nama databasenya.
Selain itu, masukkan jumlah fieldnya. Contoh seandainya kita
akan membuat tabel ‘kategori_buku’.
Tips: nama tabel sebaiknya tidak menggunakan spasi
Misalnya kita desain seperti ini:
Tabel : kategori_buku
Field : kode_kat varchar(5) PRIMARY KEY
nama_kat varchar(20)
Keterangan:
Dalam tabel ‘kategori_buku’ ada 2 field yaitu ‘kode_kat’ dan
‘nama_kat’. ‘kode_kat’ nanti berisi kode kategori buku dan ‘nama_kat’ berisi
nama kategori buku. Varchar merupakan tipe data fieldnya. Tipe data ini harus
ada dan harus dimiliki tiap field. Terdapat beberapa tipe data, yaitu:
Varchar bila data berbentuk karakter
(maks 25 karakter)
Int bila data berbentuk bilangan
bulat
Float bila data berbentuk bilangan
real
Text bila data berbentuk karakter
(sizenya lebih besar dari varchar)
Date bila data berbentuk tanggal
(th-bln-tgl)
Time bila data berbentuk waktu
(jam:menit:detik)
Blob bila data berupa file
Catatan:
Khusus varchar harus diberikan lebar sixe yang diinginkan,
seperti pada ‘varchar(5)’ yang berarti dalam field tersebut hanya mampu
menyimpan 5 karakter.
PRIMARY KEY adalah fitur dalam DBMS untuk menjamin bahwa
data tersebut tunggal. Pada desain field di atas, PRIMARY KEY diletakkan pada
field ‘kode_kat’. Hal ini berarti ketika kita memasukkan kode yang sama untuk
kategori yang berbeda, maka otomatis akan ditolak sistem.
Oke, penjelasan lebar di atas hanyalah rancangannya, teman. Sekarang,
kita buat tabelnya, berikut caranya:
1. Isikan nama tabel di kotak CREATE NEW TABLE ON
DATABASE ...
Dalam kasus ini masukkan ‘kategori_buku’
2. Masukkan jumlah field dari tabel yang akan
dibuat pada NUMBER OF FIELDS
Dalam kasus ini masukkan ‘2’
3. Klik GO
4. Setelah itu masukkan nama-nama field dan tipe
datanya pada form yang muncul berikutnya.
Memasukkan Data/Record ke Tabel
Untuk memasukkan sebuah record ke tabel, perintah SQLnya
adalah sebagai berikut:
INSERT INTO nama_tabel (field1, field2, ...) VALUES (data1,
data2, ...);
Misalkan kita akan memasukkan record kode kategori: ‘X001’
dan nama kategori: ‘MAJALAH’ ke tabel ‘kategori_buku’, maka perintahnya:
INSERT INTO kategori_buku (kode_kat, nama_kat) VALUES
(‘X001’, ‘MAJALAH’);
Catatan Penting:
Khusus field bertipe VARCHAR, TEXT, DATE, TIME, dan BLOB,
value yang akan dimasukkan ke tabel
harus diapit dengan tanda petik tunggal, misal ‘X001’. Tapi untuk field
bertipe INT dan FLOAT tidak perlu tanda petik.
Sekarang pertanyaannya, dimana kita akan menuliskan perintah
SQLnya? Ya… caranya adalah klik nama database yang kita gunakan pada kolom
sebelah kiri PhpMyAdmin, dalam hal ini klik pada nama database ‘perpustakaan’
(yang berwarna biru).
Lalu klik tombol SQL pada menu atas PhpMyAdmin.
Kemudian tulis perintah SQL pada kotak ‘RUN SQL
QUERY/QUERIES ON DATABASE ...’
Selanjutnya klik GO.
Kalian bisa menuliskan perintah atau query SQL lebih dari
satu sekaligus.
Untuk melihat record yang telah tersimpan ke dalam tabel,
caranya klik nama tabel yang mau dilihat recordnya pada sisi kiri PhpMyAdmin
Lalu klik menu BROWSE pada bagian atas PhpMyAdmin
Selanjutnya akan muncul semua record yang telah disimpan
pada tabel tersebut
Sebagai latihan coba masukkan record-record berikut ini ke
dalam tabel masing-masing menggunakan query SQL.
Tabel ‘kategori_buku’
Tabel ‘tabel_buku’
Mengedit Record
Jika kalian ingin mengedit record, perintah SQLnya adalah:
UPDATE nama_tabel SET field1 = value, field2 = value, …
[WHERE syarat]
Dalam hal ini WHERE merupakan syarat yang bersifat optional.
Bila WHERE tidak diberikan, maka proses update data diberikan ke semua record.
Contoh:
Perintah SQL untuk mengedit tahun terbit buku berkode ‘B001’
menjadi 2010.
UPDATE tabel_buku SET thn_terbit = 2010 WHERE kode_buku =
‘B001’;
Perintah SQL untuk mengedit tahun terbit buku berkode ‘B002’
menjadi 2004 sekaligus mengedit kode kategorinya menjadi ‘X002’.
UPDATE tabel_buku SET thn_terbit = 2004, kode_kat = ‘X002’
WHERE kode_buku = ‘B002’;
Perintah SQL untuk mengubah judul buku yang diterbitkan oleh
PT. A pada tahun 2003 menjadi ‘XXX’.
UPDATE tabel_buku
SET judul_buku = ‘XXX’
WHERE thn_terbit = 2003 AND penerbit = ‘PT. A’;
Catatan: Selain operator logika AND, kalian juga bisa
menggunakan OR sebagai operator logika ‘atau’.
Perintah SQL untuk
mengubah nama penerbit
menjadi PT. C dari semua
buku yang tahun terbitnya di atas 2004.
UPDATE tabel_buku
SET penerbit = ‘PT. C’
WHERE thn_terbit > 2004;
Catatan: Untuk operator relasional, kalian bisa menggunakan
tanda =, >, >=, <=, <> (tidak sama dengan)
Perintah SQL untuk mengubah tahun terbit buku menjadi 2005
semuanya
UPDATE tabel_buku SET thn_terbit = 2005;
Menghapus Record
Sebuah record atau beberapa record dapat dihapus dari tabel
dengan perintah SQL
DELETE FROM nama_tabel [WHERE syarat];
Contoh:
Perintah SQL untuk menghapus data buku yang berkode ‘B001’
DELETE FROM tabel_buku WHERE kode_buku = ‘B001’;
Perintah SQL untuk menghapus data buku dari penerbit PT. A
yang tahun terbitnya 2004
DELETE FROM tabel_buku WHERE penerbit = ‘PT. A’ AND
thn_terbit = 2004;
Tentang SQL SELECT
Perintah SELECT digunakan untuk mencari data atau
menampilkan data pada field-field tertentu. Sintaksnya adalah:
SELECT field1, field2, … FROM nama_tabel [WHERE syarat ]
[ORDER BY field DESC|ASC];
Keterangan:
ORDER BY digunakan untuk mensorting hasil data yang
ditampilkan berdasarkan field tertentu baik secara DESCENDING atau ASCENDING.
Contoh:
Perintah SQL untuk menampilkan data (kode buku dan judul
buku) dari buku yang minimal terbit pada tahun 2003.
SELECT kode_buku, judul_buku
FROM tabel_buku
WHERE thn_terbit >= 2003;
Perintah SQL untuk menampilkan data (untuk semua field) dari
buku yang diterbitkan oleh PT. A
SELECT *
FROM tabel_buku
WHERE penerbit = ‘PT. A’;
Perintah SQL untuk
menampilkan data (kode
buku, judul buku,
tahun terbit) yang diurutkan berdasarkan
tahun terbit mulai
dari yang paling
terbaru sampai dengan terlama.
SELECT kode_buku, judul_buku, thn_terbit
FROM tabel_buku
ORDER BY thn_terbit DESC;
Perintah SQL untuk menampilkan data (kode buku, judul buku
dan nama kategori buku) dari buku yang diterbitkan oleh PT. A pada tahun 2003.
Untuk hal ini, kita harus bekerja di dalam 2 buah tabel
sekaligus. Kode buku dan judul buku diperoleh dari tabel ‘tabel_buku’,
sedangkan nama kategori diperoleh dari tabel ‘kategori_buku’.
Kedua tabel saling berhubungan karena masing-masing terdapat field bernama ‘kode kategori’ atau
‘kode_kat’.
SELECT tabel_buku.kode_buku, tabel_buku.judul_buku,
kategori_buku.nama_kat
FROM tabel_buku, kategori_buku
WHERE tabel_buku.kode_kat = kategori_buku.kode_kat AND
tabel_buku.penerbit = ‘PT. A’ AND
tabel_buku.thn_terbit = 2003;
Perintah SQL untuk
menampilkan kode buku
dan judul buku,
yang judul bukunya mengandung kata ‘MATEMATIKA’
SELECT kode_buku, judul_buku
FROM tabel_buku
WHERE judul_buku LIKE ‘%MATEMATIKA%’;
Perintah SQL untuk menampilkan kode buku dan judul buku, yang kata depan
judul bukunya adalah ‘MATEMATIKA’
SELECT kode_buku, judul_buku
FROM tabel_buku W
HERE judul_buku LIKE ‘MATEMATIKA%’;
Perintah SQL untuk
menampilkan kode buku
dan judul buku,
yang judul bukunya berakhiran dengan kata ‘MATEMATIKA’
SELECT kode_buku, judul_buku
FROM tabel_buku
WHERE judul_buku LIKE ‘%MATEMATIKA’;
Penggunaan Aggregate Function
Anda juga bisa menggunakan function yang sudah disediakan
oleh MySQL, seperti AVG() untuk
menghitung rata-rata nilai,
MAX() untuk menghitung
nilai maksimum, untuk mencari
nilai minimum, COUNT()
untuk menghitung cacah
data, SUM() menjumlahkan nilai
dari beberapa data. MIN() untuk
Contoh:
Perintah SQL untuk mencari jumlah buku yang ada di dalam
database:
SELECT count(kode_buku) FROM tabel_buku;
Perintah SQL untuk mencari jumlah buku yang memiliki kode
kategori ‘X002’:
SELECT count(kode_buku) FROM tabel_buku WHERE kode_kat =
‘X002’;
Tugas Untuk Anda
Nama Tabel : ‘ambilMK’
Tentukan sendiri tipe data yang cocok untuk setiap fieldnya, dan tentukan PRIMARY KEY nya. Sebutkan alasan pemilihan tipe data dan PRIMARY KEY nya.
2. Selanjutnya sisipkan ke dalam masing-masing tabel 5 buah record menggunakan perintah SQL
3. Tuliskan perintah SQL untuk proses berikut ini
a. Hapus data mahasiswa yang bernim ‘M0001’
Tugas Untuk Anda
1. Buatlah database dengan nama ‘dbmhs’. Selanjutnya buatlah tabel untuk keperluan penyimpanan data perkuliahan mahasiswa dalam database tersebut.
Berikut ini tabel-tabelnya:
Nama Tabel : 'mhs'
Nama Tabel : 'mhs'
Nama Field
nim
nim
namaMhs
tglLahir
alamat
Nama Tabel : ‘mk’
Nama Field :
kodeMK
kodeMK
namaMK
sks
smt
Nama Tabel : ‘ambilMK’
Nama Field :
nim
nim
kodeMK
nilai
Tentukan sendiri tipe data yang cocok untuk setiap fieldnya, dan tentukan PRIMARY KEY nya. Sebutkan alasan pemilihan tipe data dan PRIMARY KEY nya.
Jawab:
2. Tabel 'mk'
2. Selanjutnya sisipkan ke dalam masing-masing tabel 5 buah record menggunakan perintah SQL
Jawab:
1. Tabel 'mhs'
2. Tabel 'mk'
3. Tabel 'ambilMK'
3. Tuliskan perintah SQL untuk proses berikut ini
a. Hapus data mahasiswa yang bernim ‘M0001’
b. Hapus matakuliah yang memiliki jumlah SKS 4 yang ada di semester 2.
c. Hapus matakuliah yang memiliki jumlah SKS 2 s/d 4
d. Hapus matakuliah yang memiliki jumlah SKS 4 atau di semester 3
e. Ubahlah nilai matakuliah berkode ‘K001’ yang diambil mahasiswa bernim ‘M0197001’ menjadi 3.
f. Ubahlah semua nilai mahasiswa yang mengambil matakuliah berkode ‘K001’ menjadi satu lebihnya dari nilai semula. Contoh nilai sebelumnya 2, maka diubah menjadi 2+1 = 3.
g. Tampilkan data matakuliah (kode matakuliah, nama matakuliah) yang berada di semester 2
h. Tampilkan jumlah mahasiswa yang beralamat di ‘SOLO’.
i. Tampilkan data mahasiswa (nim, nama mahasiswa) yang namanya mengandung kata ‘JOKO’.
j. Tampilkan data mahasiswa (nim, nama mahasiswa) yang mengambil matakuliah berkode ‘K001’
k. Tampilkan nilai tertinggi dari matakuliah berkode ‘K001’ yang diambil mahasiswa.
l. Tampilkan data mahasiswa (nim, nama mahasiswa, nilai matakuliah) yang mengambil matakuliah berkode ‘K001’ diurutkan berdasarkan nilai mulai dari tertinggi sampai terendah
m. Tampilkan rata-rata nilai matakuliah mahasiswa yang mengambil matakuliah berkode ‘K001’
n. Tampilkan daftar matakuliah (kode matakuliah, nama matakuliah) yang pernah diambil oleh mahasiswa bernim ‘M0197001’
o. Tampilkan IPK (index prestasi kumulatif) dari mahasiswa bernim nilai ‘M0197001’.
Tidak ada komentar:
Posting Komentar