Kenalan yuk sama SQL

Ada yang tahu ngga SQL itu apa??
Yap SQL atau query languange 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.

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.
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.

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  melalui 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 yang pernah kita masukkan sewaktu proses instalasi AppServ.

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 tabel baru dalam database yang telah kita buat caranya ketikkan nama tabel yang akan dibuat 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 sesuai yang dibutuhkan.

Tips: seperti halnya membuat nama database, untuk nama tabel juga sebaiknya jangan gunakan spasi.

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

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 tunggal 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.

Memasukkan Data atau 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:
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.

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’;
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: 
1. Selain operator logika AND, Anda juga bisa menggunakan OR sebagai operator logika ‘atau’.
2. Untuk operator relasional, Anda bisa menggunakan tanda =, >, >=, <=, <> (tidak sama dengan

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;

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.

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’;

KASUS 1: Buatlah  database   dengan  nama  ‘dbmhs’.   Selanjutnya   buatlah  tabel untuk keperluan penyimpanan data perkuliahan mahasiswa dalam database tersebut.

Tentukan  sendiri  tipe  data yang  cocok  untuk  setiap  fieldnya,  dan  tentukan PRIMARY KEY nya. Sebutkan alasan pemilihan tipe data dan PRIMARY KEY nya.

KASUS 2: Selanjutnya sisipkan ke dalam masing-masing tabel 5 buah record menggunakan perintah SQL

KASUS 3: 
Tuliskan perintah SQL untuk proses berikut ini

a. Hapus data mahasiswa yang bernim ‘M0197001’
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  mata kuliah  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   nilai ‘M0197001’.

Nah, sekarang coba kita realisasikan versi kita yaa, simak berikut ini :)


1.      Kasus 1:
a.       Tabel mhs
           b.       Tabel mk
         c.    Tabel ambilmk
2.      Kasus 2:
a.       Insert pada tabel mhs



b.       Insert pada tabel mk


c.       Insert pada tabel ambilmk


3.      Kasus 3:
a.       Menghapus data mahasiswa bernim ‘1103181002’.

b.       Menghapus matakuliah yang memiliki jumlah SKS 4 yang ada di semester 2
Tabel sebelum dihapus:
SQL hapus:

Tabel setelah dihapus:

c.       Menghapus matakuliah yang memiliki SKS 2 s/d 4
Tabel sebelum dihapus:
SQL hapus:
                    Tabel setelah dihapus:

d.       Menghapus matakuliah yang memiliki jumlah SKS 4 atau di semester 3
Tabel sebelum dihapus:

                   SQL hapus:
Tabel setelah dihapus:



Komentar