BEKERJA DENGAN MYSQL
1.1
Apa itu MySQL ? MySQL ( dibaca dengan mai-es-ki-el atau juga mai-se-kuel) adalah suatu
perangkat lunak basis data relasi (Relational Basis data Management System atau RDBMS), seperti halnya ORACLE, PostgreSQL, MS SQL, dan sebagainya. Jangan disalah-artikan MySQL dengan SQL. SQL (Structured Query Language) sendiri adalah suatu sintaks perintah-perintah tertentu atau bahasa pemrograman yang digunakan untuk mengelola suatu basis data. MySQL sangat popular di kalangan programmer web, terutama di ligkungan linux dengan menggunakan seript PHP dan Perl. Perangkat lunak basis data ini kini telah tersedia juga pada platform sitem operasi Windows dan Macintosh. MySQL merupakan basis data yang paling popular digunakan untuk membangun aplikasi web. Kepopuleran MySQL dimungkinkan karena kemudahanya untuk digunakan, cepat secara kinerja query, dan mencukupi untuk kebutuhan basis data perusahaan-perusahaan skala menengah – kecil. MySQL merupakan basis data yang digunakan oleh situs-situs terkemuka di internet untuk menyimpan data .Perangkat lunak basis data MySQL kini dilepas sebagai DBMS yang open soure, sebelumnya merupakan DBMS yang shareware. Shareware adalah suatu perangkat lunak yang dapat didistribusikan secara bebas untuk keperluan penggunaan secara pribadi, tetapi jika digunakan secara komersial maka pemakai harus mempunyai lisensi dari pembuatnya. Perangkat lunak open source menjadikan perangkat lunak dapat didistribusikan secara bebas dan dapat dipergunakan untuk keperluan pribadi atau pun komersial, termasuk di dalamnya source code dari perangkat lunak tersebut. Basis data MySQL merupakan basis data yang menjanjikan sebagai alternatif pilihan basis data yang dapat digunakan untuk sistem basis data personal atau organisasi. 1.2
Instalasi MySQL Instalasi atau pemasangan basis data MySQL berbeda untuk setiap sistem
1
operasi, tetapi pada dasarnya instalasinya relatif mudah. Untuk mempermudah instalasi tanpa harus melalui proses setting path, maka dapat mengunduh paket instalasi aplikasi web yang popular yakni paket XAMPP, dimana di dalamnya terdapat DBMS MySQL yang akan kita gunakan. Paket instalasi XAMPP terbaru dapat diunduh di situs web : http://www.apachefriends.org/en/xampp.html Dengan versi relatif baru untuk sistem operasi Windows adalah XAMPP 1.7.0. Berikut ini adalah tahapan instalasinya : 1. Buka paket instalasi, dan klik ganda pada file tersebut maka akan muncul tampilan gambar 1.
Gambar 1. 2. Pilih bahasa yang akan digunakan : English, klik OK, muncul tampilan gambar 2.
2
Gambar 2. 3. Pilih Next, maka layar komputer menjadi seperti gambar 3.
Gambar 3. 4. Default untuk instalasi adalah di C:/Xampp, atau dapat dipindah sesuai keinginan dengan pilih tombol Browse. Setelah itu, pilih tombol Next dan muncul tampilan gambar 4.
3
Gambar 4. 5. Pilih Install,selanjutnya proses instalasi berlangsung seperti pada gambar 5.
Gambar 5. 6. Setelah selesai maka akan muncul tampilan gambar 6.
4
Gambar 6. 7. Tampilan berikutnya adalah konfirmasi untuk menjalankan layanan MySQL, maka pilih YES seperti pada gambar 7.
Gambar 7 8. Selanjutnya muncul tampilan gambar 8.
Gambar 8.
5
9. untuk service MySQL, klik tombol Start dan bila muncul tampilan gambar 9 maka pilih tombol Unblock.
Gambar 9. Untuk keperluan antarmuka dengan DBMS MySQL, kita dapat menggunakan beberapa macam pilihan program aplikasi seperti MySQL-Front, PHPMyAdmin, MySQL-Yolk dst. Untuk itu, kita coba gunakan MySQL-Front 2.5 dengan langkah instalasi sbb : 1. Pilih paket instalasi seperti pada gambar 10.
Gambar 10. 2. Kemudian pilih Yes setelah muncul tampilan gambar 11.
Gambar 11 3. Muncul tampilan gambar 12, dan pilih Next.
6
Gambar 12. 4. Muncul tampilan Persetujuan, pilih Yes pada gambar 13.
Gambar 13. 5. untuk destinasi folder, pilih default-nya saja, pilih Next setelah gambar 14, 15, dan gambar 16.
7
Gambar 14.
Gambar 15.
8
Gambar 16. 6. Pilih tombol Install pada gambar 17
Gambar 17. 7. Pilih tombol Next pada gambar 18.
9
Gambar 18. 8. Setelah selesai instalasi, pilih Finish pada gambar 19 sehingga akan muncul tampilan gambar 20.
Gambar 19. 10. Pilih tombol Connect dan selanjutnya DBMS MySQL sudah aktif dan siap untuk diberikan perintah seperti pada gambar 21.
10
Gambar 20.
Gambar 21. 1.3
Tipe Data MySQL Pembahasan tentang tipe data dalam MySQL dikhususkan untuk pemakai
basis data untuk dapat mengetahui lebih detail tentang spesifikasi tipe data yang tersedia dalam MySQL, sehingga pada saat perancangan suatu struktur basis data dapat dengan tepat melakukan pemilihan tipe data berkaitan dengan optimasi penggunaan space didalam stotage komputer. Setiap kolom dalam tabel mempunyai beberapa karateristik tipe data yang dapat disimpan dalam kolom tersebut. Berapa panjang (banyak) data yang dapat disimpan dalam satu kolom. 1. Tipe data untuk bilangan No 1.
Tipe Data TINYINT
Keterangan Ukuran 1 byte. Bilangan bulat terkecil, dengan jangkauan untuk bilangan bertanda -128 sampai dengan 127 dan
11
untuk yang tidak bertanda 0 sampai dengan 255. Bilangan tak bertanda ditandai dengan kata UNSIGNED 2.
SMALLINT
Ukuran 2 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda -32768 sampai dengan 32767 dan untuk yang tidak bertanda 0 sampai dengan 65535
3.
MEDIUMINT
Ukuran 3 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda -8388608 sampai dengan 8388607 dan untuk yang tidak bertanda 0 sampai dengan 16777215
4.
INT
Ukuran 4 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda -2147483648 sampai dengan 2147483647 dan untuk yang tidak bertanda 0 sampai dengan 4294967295
5.
INTEGER
Sama dengan INT.
6.
BIGINT
Ukuran 8 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda -9223372036854775808 sampai dengan 9223372036854775807 dan untuk yang tidak bertanda 0 sampai dengan 184467440737079551615
7.
FLOAT
Ukuran 4 byte. Biilangan pecahan.
8.
DOUBLE
Ukuran 8 byte. Bilangan pecahan.
9.
DOUBLE PRECISION
Ukuran 8 byte. Bilangan pecahan berpresisi ganda.
10.
REAL
Ukuran 8 byte. Sinonim dari DOUBLE.
11.
DECIMAL(M,D)
Ukuran M byte. Bilangan pecahan. Misalnya DECIMAL(5,2) dapat digunakan untuk menyimpan bilangan -99,99 sampai dengan 99,99
12.
NUMERIC(M,D)
Ukuran M byte. Sama dengan Decimal.
2. Tipe data untuk tanggal dan jam No
Tipe Data
Keterangan
1.
DATETIME
Ukuran 8 byte. Kombinasi tanggal dan jam dengan jangkauan dari ‘1000-01-01 00:00:00’ sampai dengan ‘999912-31 23:59:59’
2.
DATE
Ukuran 8 byte. Kombinasi tanggal dan jam dengan
12
jangkauan dari ‘1000-01-01’ sampai dengan ‘9999-12-31 ’ 3.
TIMESTAMP
Ukuran 4 byte. Kombinasi tanggal dan jam dengan jangkauan dari ‘1970-01-01’ sampai dengan ‘2037 ’
4.
TIME
Ukuran 3 byte.waktu dengan jangkauan dari -8838:59:59 sampai dengan 8838:59:59
5.
YEAR
Ukuran 1 byte. Data tahun antara 1901 sampai dengan 2155
3. Tipe data untuk karakter dan lain-lain N o
Tipe Data
Keterangan
1.
CHAR(M)
Ukuran M byte, 1<=M<=255. Data string dengan panjang yang tetap. CHAR(1) cukup ditulis dengan CHAR.
2.
VARCHAR(M)
Ukuran L+1 byte dengan L<=M dan 1<=M<=255. Data string dengan panjang bervariasi tergantung datanya.
3.
TINYBLOB,
L+1 byte, dengan L<28 . Tipe TEXT atau BLOB dengan panjang maksimum 255 karakter.
TINYTEXT 4.
BLOB, TEXT
L+2 byte, dengan L<216 . Tipe TEXT atau BLOB dengan panjang maksimum 65535 karakter.
5.
MEDIUMBLOB, MEDIUMTEXT
L+3 byte, dengan L<224. Tipe TEXT atau BLOB dengan panjang maksimum 1677215 karakter.
6.
LONGBLOB, LONGTEXT
L+4 byte, dengan L<232. Tipe TEXT atau BLOB dengan panjang maksimum 4294967295 karakter.
7.
ENUM(’nilai1’,’nilai2’,..)
Ukuran 1 atau 2 byte tergantungnilai enumerasinya maks 65535 nilai
8.
SET(’nilai1’,’nilai2’,..)
Ukuran 1,2,3,4 atau 8 byte tergantung jumlah anggota himpunan maks 64 anggota.
1.4
Jenis Perintah SQL SQL adalah bahasa yang dipergunakan untuk mengakses data dalam basis data
13
relational. Bahasa ini adalah bahasa standar yang digunakan dalam manajemen basis data relational. Saat ini hampir semua server basis data yang ada mendukung bahasa ini dalam manajemen datanya. Jenis-jenis perintah SQL antara lain seperti yang terdapat dibawah ini:
Data Definition Language (DDL) Yaitu perintah untuk mendefinisikan data, misalnya : create, alter, drop.
Data Manipulation Language (DML) Yaitu perintah-perintah yang digunakan untuk menampilkan data dan dapat menyebabkan perubahan data, misalnya : select, insert, update, delete.
Data Control Language (DCL) Yaitu perintah untuk mengatur privilege user ( administrasi database)
contoh : GRANT, REVOKE
1.5
Data Definition Language (DDL)
Penggunaan perintah SQL pada DBMS MySQL dapat dilakukan pada tab Query dengan mengetikkan perintah dan diakhiri dengan tanda semicolon (;). Langkah penulisan script SQL adalah sbb : 1.
Ketik perintah pada tab query perintah CREATE : mysql> create database dblatihan; mysql> use dblatihan;
kemudian blok kedua perintah dan klik kanan, pilih Run Selection seperti pada gambar 21.
14
Gambar 21. 2.
Pilih menu Tools Refresh, kemudian disebelah kiri akan muncul database
yang dibuat, selanjutnya klik database tersebut sampai warna berubah kuning seperti pada gambar 22.
Gambar 22. 3.
Apabila ingin memindahkan atau menyalin database yang pernah dibuat, buka
windows explorer, dan buka ke c:/xampp/mysql/data/ dan siap dipindahkan ke dalam folder tersebut. 4.
Selanjutnya dapat dilanjutkan penulisan script perintah SQL.
15
Perintah DDL terdapat 3 macam: •
CREATE
•
DROP
•
ALTER
Keterangan: 1. CREATE •
Membuat Basis Data : mysql> create database nama_database; Contoh membuat basis data “dbkuliah” mysql> create database dbkuliah; Setelah dibuat, basis data siap digunakan mysql> use dbkuliah;
•
Membuat tabel mysql>create table namatabel (field1 type1 (panjang-data1),field2 tipe2 (panjang-data2)); contoh : mysql>
create
table
tbldosen(NIP
VARCHAR(9)
PRIMARY
KEY,namadosen VARCHAR(30), kodematkul VARCHAR(100)); •
Melihat struktur tabel tsb mysql> desc tbldosen;
2. DROP •
Menghapus Basis Data mysql> drop database nama_database; Contoh: mysql> drop database dbkuliah;
•
Menghapus Tabel mysql> drop table nama_tabel; Contoh: mysql> drop table tbldosen;
16
3. ALTER Merupakan perintah DDL yang ke-3 yang berfungsi untuk memodifikasi table. Menambah kolom/field. Menghapus kolom/filed. Membuat suatu constraint ( Primary key dan Foreign key ). Constrain adalah mekanisme untuk membatasi domain ( nilai-nilai yang diperbolehkan ) untuk sebuah kolom dalam table. Dengan memberikan konstrain pada sebuah kolom, server database dapat menjamin kondisikondisi berikut: Keunikan data. Memberikan nilai default. Mengharuskan nilai baru mengikuti pola tertentu. Mengharuskan nilai baru adalah anggota dari sebuah daftar yang telah ditentukan.
•
Menambah field mysql> alter table nama-tabel add field-baru tipe-baru ; Contoh pada tbldosen
ditambahkan field alamatdosen dengan
tipe
varchar(100) mysql> alter table tbldosen add alamatdosen varchar(100); •
Menghapus field : mysql> alter table tbldosen drop column alamatdosen;
•
Mengubah lebar field pada tabel mysql> alter table namatabel modify fieldnya tipenya (panjangbaru); Contoh mengubah panjang data untuk namadosen mysql> alter table tbldosen modify nama varchar (50);
•
Mengganti nama field mysql> alter table nama_tabel change nama_fleld_lama nama_fleld_baru tipe_data;
17
Contoh mengganti nama field mysql>
alter table tbldosen change alamatdosen alamatkotadosen
varchar(100); •
Mengganti Nama Tabel mysql>alter table nama_tabel_ lama rename nama_tabel_baru; Contoh mengganti nama tabel mysql>alter table tbldosen rename tbl_dosen;
•
Membuat konstrain Primary Key Suatu constraint Primary key bisa dibuat pada saat table dibuat. mysql>CREATE table Nama_tabel ( Nama_kolom/field typedata(size),… Constraint nama_constraint Primary key); Contoh: mysql> CREATE table tblmatkul ( kodematkul int(15) primary key, namamatkul varchar(100), jmlsks int(5));
•
Membuat konstrain Foreign Key Setelah tabel dibuat melalui perintah ALTER mysql>ALTER table Nama_table ADD Foreign key nama_field References Nama_tabel_referensi ( Nama_field Tabel_referensi/field PK); Contoh: mysql> ALTER table tbldosen add foreign key(kodematkul) references tblmatkul(kodematkul);
•
Membuat Index Index digunakan untuk mempercepat proses pencarian data dalam suatu tabel dan dapat dibuat untuk setiap kolom yang akan dijadikan kriteria untuk pencarian data shg pencarian data untuk kolom dapat lebih cepat. mysql>create index namaindex on namatabel (namakolom1,namakolom2,…); Contoh membuat index pada tbldosen dengan kolom nip dan namadosen : mysql> create index dosen on tbldosen(nip, namadosen);
•
Menghapus Index
18
Index dapat dihapus yg tidak akan menyebabkan terhapusnya tabel dan akibat penghapusan index, pencarian data pada kolom akan lebih lambat. mysql> drop index namaindex on namatabel; Contoh menghapus index pada tbldosen : mysql> drop index dosen on tbldosen; 1.6
Data Manipulation Language (DML)
Berfungsi untuk memanipulasi data yakni sbb : •
INSERT (menambahkan data)
•
UPDATE (mengubah data)
•
DELETE (menghapus data)
•
SELECT (menampilkan data)
1. Insert Menambah data dalam satu record. mysql>INSERT Into Nama_Table ( Nama_kolom1, Nama_kolom2,…) values ( nilai1, nilai2,…); Contoh: mysql>insert into tbldosen ( nip, namadosen, kodematkul ) values (‘132309426’,’Mera Kartika’, ‘TIK-004’); 2. Update Mengubah satu atau lebih data yang terdapat pada satu atau lebih kolom tabel. mysql >UPDATE Nama_tabel SET Nama_kolom=value WHERE Kondisi; Contoh: mysql >UPDATE tbldosen SET kodematkul=’TIK-104’ Where NIP=’132309426’; 3. Delete Menghapus satu atau beberapa record dalam suatu table. mysql>DELETE From Nama_tabel Where Kondisi
19
Contoh: mysql>DELETE From tbldosen where NIP=’131234905’; 4. Select Menampilkan record-record data yang terdapat pada table. mysql> Select Nama_filed from nama_table; Contoh: mysql> Select * from peg; ( Menampilkan data di semua field dalam table peg ) Uji Pemahaman Anda ! Nama basis data : db_apotek Tabel pertama ialah : tblobat
Dan tabel kedua ialah : tblsupplier
Tugas : Isi masing-masing tabel tersebut dengan minimal 3 data !
20
1.7
Klausa SELECT untuk Query Perintah SELECT digunakan untuk menampilkan data dalam tabel. Secara umum sintaknya adalah sebagai berikut: Contoh : Menampilkan Data Mahasiswa MYSQL> SELECT * FROM tbldosen Ket : Tanda asterisk ( * ) menandakan bahwa semua kolom akan ditampilkan Menampilkan Nim dan Nama Mahasiswa MYSQL>SELECT nip, namadosen FROM tbldosen
SELECT Dengan Klausa WHERE WHERE digunakan untuk membatasi hasil SELECT yang ditampilkan
sesuai
kondisi yang ditentukan. Secara umum sintaknya adalah sebagai berikut: MYSQL> SELECT Daftar_Kolom FROM Nama_Tabel WHERE Kondisi a. Operator relasional OPERATOR
ARTINYA
=
Sama dengan
>
Kurang dari
<
Lebih dari
>=
Kurang dari atau sama dengan
<=
Lebih dari atau sama dengan
<>
Tidak sama dengan
Contoh : MYSQL>SELECT * FROM tbldosen WHERE nip =’123’; b. Operator logika 1. OR, fungsinya menampilkan data jika salah satu atau lebih syarat terpenuhi. Contoh : MYSQL>SELECT * FROM tbldosen WHERE nip = ‘122’ OR nama = ‘mera’ ; 2. AND, fungsinya menampilkan data jika semua syarat terpenuhi.
21
Contoh : MYSQL>SELECT * FROM tbldosen WHERE nip = ‘122’ AND nama = ‘dini’ ; 3. NOT, fungsinya menampilkan data yang sebaliknya (negasinya) Contoh : MYSQL>SELECT * FROM Mahasiswa WHERE NOT NIM = ‘122’; SELECT Dengan Klausa BETWEEN Dan NOT BETWEEN BETWEEN digunakan untuk menampilkan data dalam nilai range tertentu (diantaranya). BETWEEN hanya perlaku pada bilangan dan tanggal. Sintak : MYSQL>SELECT [Daftar_Kolom] FROM Table WHERE Kondisi BETWEEN Batas_Bawah AND Batas_Atas; Contoh : MYSQL>SELECT * FROM tbldosen WHERE nip BETWEEN 122 AND 125; SELECT Dengan Klausa LIKE Umumnya LIKE digunakan untuk permintaan yang mencari suatu teks berdasarkan kata depan (prefix), kata tengah dan kata akhir (sufix). Contoh : MYSQL>SELECT nip, namadosen, kdmatkul from tbldosen where nama like ‘a%’; untuk awalan aMYSQL>SELECT nip, namadosen, kdmatkul from tbldosen where nama like ‘%a%’; untuk huruf tengah –a- atau mengandung huruf a. MYSQL>SELECT nip, namadosen, kdmatkul from tbldosen where nama like ‘%a’; untuk akhiran -a
22
SELECT Dengan Klausa ORDER BY ORDER BY digunakan untuk mengurutkan data dari hasil perintah SELECT. Pengurutan dapat dilakukan secara Ascending (ASC) atau Descending (DESC). Default-nya adalah secara ascending. Contoh : MYSQL>SELECT * FROM tbldosen ORDER BY nip ASC; SELECT Dengan Klausa ALIAS Nama kolom hasil dari perintah SELECT dapat diganti namanya. Dalam contoh perhitungan dengan SQL diatas banyak digunakan keyword AS unatuk memberikan nama kolom. Fungsi AS tersebut adalah memberikan alias terhadap hasil perhitungan sehingga lebih mudah dibaca. Sintak : MYSQL>SELECT kolom1 AS Alias1, Kolom2 AS Alias2,…dst FROM Table Contoh : MYSQL>SELECT nip AS Nomor Induk Pegawai, namadosen AS Nama Lengkap Dosen from tbldosen; Uji Pemahaman Anda ! Dengan menggunakan tabel yang sudah dikerjakan sebelumnya, kerjakan latihan di bawah ini ! 1. Tampilkan seluruh record data pada tblsupplier. 2. Tampilkan seluruh record data pada tblobat dengan namaobat berurutan abjad. 3. Tampilkan seluruh record data pada tblsupplier dengan kondisi tertentu menggunakan pernyatakan “WHERE” dan “OR”. 4. Tampilkan seluruh record data pada tblobat dengan kondisi tertentu menggunakan pernyatakan “WHERE” dan “AND”.
23
5. Tampilkan record data pada seluruh field di tblobat dengan tanggalbeli antara 1 Agustus 2009 sampai dengan 31 Agustus 2009 dan ditampilkan berdasarkan namaobat berurutan abjad! 6. Tampilkan record data namaobat sebagai Nama Obat Resmi, hargasatuan sebagai HET, jumlahbarang sebagai Jumlah Total pada tblobat’. 7. Tampilkan record data tblsupplier dengan menampilkan data namasupplier yang berawalan su-. 8. Tampilkan record data tblsupplier dengan menampilkan data alamatsupplier mengandung kata depok. ---selesai---
24