Modul - MySQL
Modul - MySQL
Konsentrasi Program
KeDai Computerworks
2016
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
1
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Portability. Berjalan stabil pada berbagai sistem operasi (Windows,Linux, Mac OS, Solaris
dsb).
Open Source. Didistribusikan secara open source (gratis).
Multiuser. Dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa
mengalami masalah atau konflik.
Performance Tunning. Memiliki kecepatan yang baik dalam menangani query sederhana.
Column Types. Memiliki tipe kolom yang kompleks, seperti : signed/unsigned integer, float,
double, char, varchar, blob, time, datetime, timestamp, year, set serta enum.
Command dan Functions. Memiliki operator dan fungsi secara penuh yang mendukung
perintah SELECT dan WHERE dalam query.
Security. Memiliki lapisan sekuritas, seperti level subnetmask, nama host dan izin akses
user disertai dengan password enkripsi.
Scalability dan Limits. Mampu menangani database dalam skala besar dengan jumlah
records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris.
Connectivity. Dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix
soket atau Named Pipes.
Localization. Dapat mendeteksi pesan kesalahan (error code) pada client dengan
menggunakan lebih dari dua puluh bahasa.
Interface. Memiliki interface terhadap berbagai aplikasi dan bahasa pemrograman
dengan fungsi API (Application Programming Interface).
Clients dan Tools. Dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi
database.
Struktur Tabel. Memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE
dibandingkan Oracle atau PostgreSQL.
2
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
2. ALTER
Perintah ini digunakan untuk mengubah struktur table yang telah dibuat. Pekerjaannya
mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus
kolom, maupun memberikan atribut pada kolom.
3. DROP
Digunakan untuk menghapus table dan database.
2. DML (Data Manipulation Language)
DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data
atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :
1. SELECT
Digunakan untuk memilih data dari suatu tabel atau view.
2. INSERT
Digunakan untuk menyisipkan baris dari suatu tabel.
3. UPDATE
Digunakan untuk mengubah isi dari kolom (field) pada suatu table.
4. DELETE
Digunakan untuk menghapus baris dari suatu tabel.
3. DCL (Data Control Language)
DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses
(priviledges). Perintah SQL yang termasuk dalam DCL antara lain :
1. GRANT
Perintah ini digunakan untuk memberikan hak / izin akses oleh administrator server
kepada user. Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT),
menghapus (DELETE), mengubah (UPDATE) dan hak khusus yang berkenaan dengan
sistem databasenya.
2. REVOKE
Kebaikan dari GRAND, REVOKE digunakan untuk menghilangkan atau mencabut hak
akses yang telah diberikan kepada user oleh administrator.
3
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
TIPE DATA
Setiap pembuatan field / kolom pada sebuah table, harus ditentukan tipe datanya. Tipe data
merupakan jenis data yang akan disimpan pada sebuah table. Tipe data yang disediakan MySQL
sangat banyak dan lengkap. Anda dapat memilih tipe data suatu kolom sesuai dengan data yang
akan disimpan. Setelah mengetahui apa itu MySQL, mari kita lihat macam-macam tipe data
dalam MySQL. Secara umum tipe data MySQL ada empat, yaitu numeric, date, string, biner &
kelompok himpunan (bentukan).
A. Tipe Data Numeric
MySQL dapat menerima masukan berupa angka-angka yang dibagi atas integer (angka
tanpa pecahan) dan floating-point (angka dengan pecahan). MySQL juga mengerti notasi
scientific yaitu integer atau floating-point yang diikuti tanda “e” atau “E”, tanda “+” atau “-“.
Misalnya angka 1.34E+12 atau 3.23e-5.
Tipe ini untuk harga integer dan floating-point. Untuk integer kolom haruslah
PRIMARY KEY atau indeks yang unik jika ia diberi atribut AUTO_INCREMENT (dapat otomatis
mengurutkan angka). Jika diberikan atribut UNSIGNED berarti angka tidak boleh negatif.
Sedangkan atribut ZEROFILL menandakan bahwa angka diawali dengan angka nol.
4
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
5
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
+ 4 Byte
OPERATOR
Operator yaitu suatu elemen yang digunakan untuk mengekspresikan suatu kondisi dalam
pencarian data, dimana biasanya digunakan untuk memanipulasi data, seperti fungsi SELECT,
UPDATE dan DELETE pada syntax WHERE.
Pada umumnya, operator dalam MySQL dibagi menjadi beberapa macam :
6
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
1. Operator Aritmatika
2. Operator Perbandingan
3. Operator Logika
Operator Aritmatika
Operator ini digunakan untuk melakukan operasi perhitungan. Berikut ini adalah beberapa
operator yang termasuk operator aritmatika.
1. + Penjumlahan
2. - Pengurangan
3. * Perkalian
4. / Pembagian
Operator Perbandingan
Operator perbandingan adalah operator yang digunakan untuk membandingkan antara satu
operan dengan operan lainnya.
Operator Logika
Operator logika adalah operator yang digunakan untuk membandingkan kebenaran dari
kondisi suatu operand.
7
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Keterangan
a. And : Bernilai benar jika semua kondisinya benar.
b. Or : Bernilai salah jika semua kondisinya salah.
c. Not : Kebalikan dari kondisi awal.
d. Xor : Bernilai benar jika kondisinya berbeda.
8
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Membuat Database
Sintaks umum SQL untuk membuat suatu database adalah sebagai berikut :
Bentuk perintah di atas akan membuat sebuah database baru dengan nama
“nama_database”. Aturan penamaan sebuah database sama seperti aturan penamaan pada sebuah
variabel. Dalam kasus ini, akan dibuat sebuah database dengan nama “peserta”. Berikut sintaks yang
digunakan :
Menampilkan Database
9
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Untuk melihat database yang baru saja dibuat atau yang sudah ada, dapat menggunakan
perintah sebagai berikut :
SHOW DATABASES;
Membuka Database
Sebelum melakukan manipulasi tabel dan record yang berada di database, kita harus membuka
atau mengaktifkan terlebih dahulu database yang dituju. Seperti contoh sebelumnya, untuk
membuka database “peserta”, sintaksnya adalah sebagai berikut :
USE nama_database;
10
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Menghapus Database
Untuk menghapus suatu database, perintah yang digunakan adalah DROP. Kita ambil contoh
database yang akan dihapus adalah database peserta yang telah dibuat sebelumnya. Berikut ini
adalah sintaksnya :
Perlu diingat bahwa perintah ini menghapus database, yang secara otomatis akan menghapus
seluruh tabel beserta record yang telah dibuat. Jadi berhati-hatilah dalam penggunaan fungsi ini.
Perlu diingat bahwa penamaan tabel dan field memiliki aturan yang sama dengan penamaan
database.
11
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Constraint
Constraint adalah aturan atau batasan yang ada pada tabel. MySQL menyediakan beberapa tipe
constraint sebagai berikut :
NOT NULL
Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi nilai NULL.
Kolom yang berfungsi sebagai kunci utama (primary key) otomatis tidak boleh NULL.
UNIQUE
Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan data
lainnya namanya tidak boleh sama, misal alamat email.
PRIMARY KEY
Constraint PRIMARY KEY membentuk key yang unik untuk suatu tabel. Jadi tidak ada record
yang sama yang dihasilkan dalam 1 field.
FOREIGN KEY
FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu tabel, dimana
kolom tersebut juga dimiliki oleh tabel yang lain sebagai PRIMARY KEY. Biasanya dipakai
untuk menggabungkan antara 2 tabel.
Sebagai contoh, kita akan membuat tabel baru dengan struktur sebagai berikut : Nama tabel :
program.
1. Noreg char 3
2. Nama varchar 25
3. Kampus varchar 20
5. Hp varchar 12
Untuk membuat tabel tersebut di atas, query atau perintah SQL-nya adalah sebagai berikut :
12
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Pada perintah diatas, ada beberapa hal yang perlu diperhatikan antara lain :
CREATE TABLE merupakan perintah dasar dalam pembuatan tabel.
program merupakan nama tabel yang dibuat.
noreg, nama, kampus, jkl, hp merupakan nama field.
char, varchar, enum merupakan tipe data dari field yang dibuat.
3, 25, 20 dan 12 setelah tipe data merupakan jangkauan nilai yang diberikan pada suatu
field.
NOT NULL merupakan opsi untuk menyatakan bahwa suatu field tidak boleh kosong.
Untuk tipe data date dan text, panjang karakter maksimalnya tidak perlu ditentukan.
Setiap akhir penulisan sintax, harus diakhiri dengan tanda titik koma (;).
Selanjutnya untuk melihat tabel program benar-benar sudah ada atau belum, ketikkan
perintah berikut ini :
SHOW TABLES;
Perintah di atas akan menampilkan seluruh tabel yang sudah ada dalam suatu database.
Untuk melihat struktur tabel, anda dapat mengetikkan perintah berikut ini :
DESC nama_tabel;
13
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Dari struktur tabel program yang ditampilkan di atas, dapat diketahui bahwa :
Terdapat 5 (lima) field dengan tipe masing-masing.
Primary Key dari tabel program adalah noreg. Lihat kolom Key pada field noreg.
Untuk field nama, kampus, jkl dan hp, default-nya boleh kosong. Lihatlah kolom Null dan
Default pada field.
14
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Adapun beberapa contoh variasi perintah ALTER untuk mengubah struktur suatu tabel antara
lain :
Menambahkan field “tgllahir” ke tabel program.
15
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Perintah di atas akan mengubah tabel program menjadi programming dan sebaliknya.
Menghapus Tabel
Untuk menghapus sebuah tabel, bentuk umum dari perintah SQL adalah sebagai berikut :
Contohnya kita akan menghapus tabel dengan nama “program”, maka perintah SQL yang
digunakan adalah :
16
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Sebagai contoh, kita akan menambahkan sebuah record ke dalam tabel program yang telah
kita buat sebelumnya. Berikut ini perintah SQL untuk menambahkan sebuah record ke dalam tabel
program :
Setelah perintah SQL di atas berhasil dieksekusi, maka record atau data dalam tabel program
akan bertambah. Jalankan perintah berikut ini untuk melihat isi tabel program.
17
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
18
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Perhatikan beberapa contoh perintah DELETE dari tabel program berikut ini. Disini akan dihapus
data peserta yang memiliki no. registrasi ‘073’ dan berasal dari kampus ‘STMIK Professional’.
19
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Menampilkan Record
Perintah SELECT digunakan untuk menampilkan informasi. Informasi di sini bisa berupa data
dari tabel ataupun berupa ekspresi. Dengan SELECT, kita bisa mengatur tampilan atau keluaran
sesuai yang diinginkan. Bentuk dasar perintah SELECT data dari tabel adalah sebagai berikut :
Perhatikan beberapa contoh perintah SELECT dari tabel program berikut ini !
Menampilkan seluruh data atau record (*) dari tabel program.
Menampilkan field reg dan nama dari seluruh peserta dalam tabel program.
Menampilkan reg, nama dan kampus dari data peserta yang mempunyai reg 057.
20
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Menampilkan semua data peserta secara urut berdasarkan nama program secara
DESCENDING.
ORDER BY adalah menampilkan semua data secara berurut berdasarkan nilai atau abjad. Fungsi
ini digunakan untuk mengurutkan data yang akan ditampilkan dari sebuah kolom. Secara default
untuk ORDER BY adalah ASCENDING (ASC), yaitu diurutkan berdasarkan dari kecil ke besar. Jika kita
ingin mengurutkan dari besar ke kecil dapat digunakan DESCENDING (DESC).
TAMBAHAN
Di dalam MySQL, terdapat juga fungsi agregat antara lain :
MAX(), untuk mendapatkan nilai terbesar suatu kolom.
21
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Jika fungsi-fungsi agregat tersebut diterapkan pada field yang bertipe string seperti varchar
misalnya, maka hasilnya selalu bernilai nol (0). Adapun fungsi string yang dimaksudkan antara lain :
LCASE(), untuk membuat huruf kecil semua (lowercase).
JOIN TABEL
Pembahasan berikut ini akan dijelaskan beberapa perintah SQL yang lebih kompleks yaitu join
antar tabel. Untuk memudahkan penjelasan, maka contoh yang disajikan mengacu pada pemodelan
data konseptual Sistem Pemesanan (Penjualan) sebagai berikut :
22
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Table faktur
Tabel kuitansi
23
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Tabel pelanggan
Tabel pesan
Tabel produk
24
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
25
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Hasilnya :
Pada hasil perintah query di atas terlihat bahwa terdapat 2 transaksi yang
dilakukan. Jika kita lihat kembali isi tabel pelanggan di atas, maka terdapat satu pelanggan
yang tidak ditampilkan yaitu yang memiliki id pelanggan P0002. Pelanggan tersebut tidak
ditampilkan karena belum pernah melakukan transaksi.
b. Outer Join
Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data
yang NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan
pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan transaksi.
Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT. Berikut ini bentuk umum
dan contohnya:
26
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
1. LEFT JOIN
Bentuk umum
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
Hasilnya :
Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan menampilkan
juga data pelanggan dengan id P0002, walaupun pelanggan tersebut belum pernah
bertransaksi. Dan pada kolom id_pesan dan tgl_pesan untuk pelanggan P0002 isinya
NULL, artinya di tabel kanan (pesan) pelanggan tersebut tidak ada.
2. RIGHT JOIN
Bentuk umum
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan :
27
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
Hasilnya :
Dengan RIGHT JOIN, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel
pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak ada
di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.
28
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
LATIHAN
1. Buat database dengan nama karyawan.
2. Buat tabel dengan nama noreg_nama (030_janwar) dengan struktur sebagai berikut :
nip* char 5
nama_kar varchar 15
tgl_lahir date 8
Gaji int 7
kota varchar 15
depart varchar 10
jenkel enum(‘Laki-Laki’,’Perempuan’) -
29
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
30
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara
d. DELETE
1. Hapuslah karyawan dengan nip 13301.
2. Hapuslah karyawan yang berjenis kelamin L dan kota Jakarta.
3. Hapuslah karyawan yang gajinya < 900000.
4. Hapuslah karyawan yang namanya berawalan huruf ‘K’ atau ‘W’.
5. Hapuslah karyawan yang departnya bukan Pemasaran dan Produksi.
31