Pengenalan
SQL
Pada bab ini
Anda akan diperkenalkan dengan SQL atau structured query languange. SQL adalah
suatu statement atau pernyataan atau
perintah standart yang digunakan untuk keperluan administrasi database.
Ada banyak
software database yang mendukung SQL ini. Software batabase ini disebut juga SQL based DBMS (Database
Management System). Beberapa di antaranya adalah MySQL, Oracle, MS. Access, MS.
SQL, SQL Server dll.
Bab pengenalan
SQL ini diberikan karena mulai bab selanjutnya materi kursus terkait dengan
penggunaan database, dalam hal ini software database yang digunakan adalah
MySQL. Mengapa MySQL
yang digunakan? Ya…
karena MySQL adalah
DBMS yang bersifat free
alias gratis namun
kehandalannya tidak kalah
dengan DBMS yang
tidak free.
Tentang Database
Database ibaratnya
suatu wadah yang
digunakan untuk menyimpan
data. Supaya mudah diatur
data-data itu disimpan dalam sebuah tabel.
Database ibaratnya
seperti sebuah lemari
kabinet. Dalam lemari
kabinet terdapat beberapa laci
yang di dalamnya terdapat beberapa dokumen file atau data. Laci inilah
yang diumpamakan tabel
dari database dan
dokumen file atau
data yang tersimpan dalam laci ibaratnya merupakan data atau record dari database. Bisa membayangkan ya? ☺
Di dalam sebuah
database bisa terdapat lebih dari satu tabel.
Pada sebuah tabel,
terdapat unsur yaitu kolom
dan baris, seperti halnya
tabel-tabel umum yang Anda kenal. Kolom pada database disebut juga
field, dan barisnya disebut record.
Tentang PhpMyAdmin
Terkadang dalam
mengatur atau pengadministrasian database
sangatlah repot Misalnya membuat
database, membuat tabel,
mengubah struktur tabel,
menyimpan data ke database, mengedit data, menghapus data dsb.
Nah… khusus
MySQL terdapat software
khusus yang dapat
dipergunakan untuk
pengadministrasian database supaya
mudah dilakukan. Software
ini bernama PhpMyAdmin. Software
ini merupakan web
based software yang
dijalankan melalu URL:
http://localhost/phpmyadmin
Apabila Anda
menggunakan AppServ atau XAMPP maka ketika dipanggil URL di atas akan
langsung masuk ke PhpMyAdmin.
Catatan:
Sebelum masuk ke PhpMyAdmin biasanya kita disuruh memasukkan username dan password. Username dan password ini sesuai dengan sewaktu proses instalasi AppServ. yang pernah kita masukkan
Tampilan PhpMyAdmin
Membuat Database
Untuk membuat
database baru dengan PhpMyAdmin, caranya adalah isikan nama database yang akan
Anda buat ke dalam bagian kotak CREATE NEW DATABASE lalu klik tombol CREATE.
Sebagai contoh silakan Anda buat database
dengan nama: ‘perpustakaan’
Tips: sebaiknya nama database jangan
mengandung spasi.
Membuat Tabel
Setelah database
dibuat, selanjutnya kita bisa membuat tabel. Untuk
membuat tabe baru dalam database
yang telah kita buat caranya ketikkan nama tabel yang akan dibua pada bagian
CREATE NEW TABLE ON DATABASE XXX. ‘XXX’ di sini merupakan nama databasenya.
Selain itu masukkan
pula jumlah fieldnya.
Oleh karena itu sebaiknya
sebelum proses pembuatan tabel
hendaknya Anda rancang terlebih dahulu nama-nama fieldnya sesua yang
dibutuhkan.
Dalam contoh ini andaikan kita akan membuat
tabel ‘kategori_buku’
Tips: seperti halnya membuat nama database,
untuk nama tabel juga sebaiknya jangan gunakan spasi.
Untuk tabel ‘kategori_buku’ misalnya kita
desain seperti di bawah ini:
Tabel
: kategori_buku
Field
: kode_kat nama_kat
varchar(5)
varchar(20)
PRIMARY KEY
Keterangan:
Dalam tabel
‘kategori buku’ terdapat 2 buah field yaitu ‘kode_kat’ dan ‘nama_kat’. Field
‘kode_kat’ nanti
berisi kode kategori
dari buku-buku yang
tersimpan dalam perpustakaan
dan ‘nama_kat’ merupakan penjelasan yang berisi nama kategori terkai dengan kode
kategorinya. Misalnya kode
kategori buku ‘X10’
itu merupakan kode kategori untuk buku tentang ‘MATEMATIKA’.
Varchar merupakan
tipe data dari fieldnya. Tipe data ini harus dimiliki setiap field yang akan
dibuat. Tipe data ini menentukan jenis atau sifat data yang akan disimpan dalam
field tersebut. Terdapat beberapa tipe data yang bisa dipilih, yaitu
Varchar
Int Float Text Date Time Blob
bila datanya berbentuk karakter (maks 255
karakter)
bila datanya berbentuk bilangan bulat bila
datanya berbentuk bilangan real
bila datanya berbentuk karakter (size nya
lebih besar dari varchar)
bila datanya berbentuk tanggal (th-bln-tgl)
bila datanya berbentuk waktu
(jam:menit:detik)
bila datanya berupa file
Catatan:
Khusus untuk
varchar harus diberikan lebar size yang diinginkan, misalnya suatu field
bertipe varchar(5). Maksud 5 di sini adalah banyak karakter yang bisa disimpan
dalam field tersebut adalah 5 buah.
PRIMARY KEY
adalah fitur yang ada dalam DBMS yang dapat digunakan untuk menjamin bahwa
sebuah data itu tunggal. Dalam contoh di atas PRIMARY KEY diberikan pada field
‘Kode Kategori’. Tentu kita tahu bahwa
suatu kode kategori buku itu bersifat
tungga atau tidak boleh
ada kode yang
sama, seperti halnya
kode karyawan atau
kode mahasiswa. Bila suatu field sudah dijadikan PRIMARY KEY maka tidak
mungkin ada data yang sama pada
field tersebut. Apabila
kita masukkan kode
yang sama, maka
akan ditolak oleh sistem.
OK… setelah kita rancang tabelnya, kita
bisa membuatnya. Berikut ini 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
Setelah itu
masukkan nama-nama field dan tipe datanya nya pada form yang muncul berikutnya
Menunjukkan primary key telah dipilih pada
field ‘kode_kat’
Sebagai latihan coba Anda buat lagi tabel
‘tabel_buku’ dengan field sebagai berikut
kode_buku judul_buku kode_kat pengarang
penerbit thn_terbit
varchar(10) text varchar(5) varchar(30)
varchar(30) int
PRIMARY KEY
Tabel di atas dibuat dalam database
‘perpustakaan’. Dengan demikian terdapat 2 tabel dalam database ‘perpustakaan’.
Memasukkan Data/Record ke Tabel
Untuk memasukkan
sebuah record ke tabel, perintah SQL nya adalah berikut ini
INSERT INTO nama_tabel (field1, field2, …)
VALUES (data1, data2, ..);
Sebagai contoh 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
yang bertipe VARCHAR,
TEXT, DATE, TIME,
dan BLOB, value yang
akan dimasukkan ke tabel
harus diapit dengan
tanda petik tunggal,
misal ‘X001’. Namun untuk field bertipe data bilangan (INT,
FLOAT) tanpa menggunakan tanda petik.
Dimanakah kita
menuliskan perintah SQLnya? Ya… caranya adalah klik terlebih dahulu nama
database yang kita gunakan pada kolom sebelah kiri dari PhpMyAdmin, dalam hal
ini klik pada nama database ‘perpustakaan’
Lalu klik tombol SQL pada menu atas PhpMyAdmin
Kemudian tulis perintah SQL pada kotak ‘RUN
SQL QUERY/QUERIES ON DATABASE …’
Selanjutnya klik GO.
Anda dapat 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’
Kode Kategori
|
Nama Kategori
|
X002
|
REFERENSI
|
X003
|
SURAT KABAR
|
X004
|
JURNAL ILMIAH
|
Tabel ‘tabel_buku’
Kode Buku
|
Judul Buku
|
Kode
Kategori
|
Pengarang
|
Penerbit
|
Th. Terbit
|
B001
|
Pemrograman
Pascal
|
X002
|
Mr. X
|
PT. A
|
2003
|
B002
|
Pemrograman
PHP
|
X002
|
Mr. Y
|
PT. A
|
2004
|
B003
|
Kompas (Edisi
X 2006)
|
X003
|
-
|
-
|
2006
|
B004
|
Sains Matematika
(Edisi XI 2008)
|
X004
|
-
|
LIPI
|
2008
|
B005
|
Tempo (Edisi
XI 2008
|
X001
|
-
|
PT. B
|
2008
|
Mengedit Record
Apabila Anda ingin mengedit record,
perintah SQL nya 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’;
erintah 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, Anda 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, Anda 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
WHERE 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’;
Berikut
beberapa contoh pengolahan database menggunakan script sql
1.
Buka
xampplite jalankan apache dan mysql
2.
Buka
browser dan kujunjungi url berikut untuk membuka phpmyadmin
3.
Tampilan phpmyadmin
4.
Membuat
database baru
5.
Membuat table
dan field/kolom
6.
Mengisi
nama field dan jenis data yang akan dimasukan field kemudian klik go
7.
Membuat 3
tabel dengan isi field sebagai berikut
//table mhs
//table mk
//table ambilmk
8.
Isi data
pada table yang telah dibuat
//isi data dengan sql
Ulangi perintah dengan mengubah isi data dan tempat data
hingga memenuhi sebagai berikut.
//Data mhs
//Data mk
//Data ambilmk
Beberapa perintah mengola database
1. Menghapus data mahasiswa bernim 1103181031
1. Menghapus data mahasiswa bernim 1103181031
2.
Menghapus
mata kuliah yang memiliki sks 4 pada semester 2
3.
menghapus
mata kuliah yang memiliki sks 2 s/d 4
4.
Menghapus
matakuliah yang memiliki jumlah SKS 4 atau di semester 3
5.
Mengubah nilai
matakuliah berkode ‘K001’
yang diambil mahasiswa
bernim ‘1103181031’ menjadi 3.
6.
Mengubah
semua nilai mahasiswa yang mengambil matakuliah berkode ‘K001 menjadi satu
lebihnya dari nilai semula. Contoh nilai sebelumnya 2, maka diubah menjadi 2+1
= 3.
7.
Menampilkan
data matakuliah (kode matakuliah, nama matakuliah) yang berada di semester 2
8.
Menampilkan
jumlah mahasiswa yang beralamat di ‘MAGETAN’.
9.
Menampilkan data
mahasiswa (nim, nama
mahasiswa) yang namanya mengandung kata ‘SHANDY’.
10. Menampilkan
data mahasiswa (nim,
nama mahasiswa) yang
mengambi matakuliah berkode ‘K001’
11. Menampilkan
nilai tertinggi dari
matakuliah berkode ‘K001’
yang diambil mahasiswa.
12. Menampilkan data mahasiswa (nim, nama
mahasiswa, nilai matakuliah) yang mengambil matakuliah berkode ‘K001’ diurutkan
berdasarkan nilai mulai dar tertinggi sampai terendah
13. Menampilkan rata-rata nilai matakuliah
mahasiswa yang mengambil matakuliah berkode ‘K001’
14. Menampilkan
daftar matakuliah (kode
matakuliah, nama matakuliah)
yang pernah diambil oleh mahasiswa bernim ‘103181031’
15. Manampilkan
nilai IPK (index prestasi
kumulatif) dari mahasiswa
bernim 1103181031
Tidak ada komentar:
Posting Komentar