Pengenalan dan Perintah Dasar MySQL
I. Pendahuluan
MySQLdikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembangsoftware dan konsultan database bernama MYSQL AB yang berada di Swedia.Waktu itu perusahaan tersebut masih bernama TcX DataKonsult AB, dantujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasiberbasis web pada client. Awalnya Michael "Monty” Widenius, pengembangsatu-satunya di TcX memiliki sebuah aplikasi UNIREG dan rutin ISAMbuatannya sendiri dan sedang mencari antarmuka SQL yang cocok untukdiimplementasikan ke dalamnya. Mula-mula Monty memakai miniSQL (mSQL)pada eksperimennya itu, namun SQL dirasa kurang sesuai, karena terlalulambat dalam pemrosesan query. Akhirnya Monty menghubungi David Hughes,pembuat mSQL yang sedang merilis versi kedua dari mSQL. Kemudian Montymencoba membuat sendiri mesin SQL yang memiliki antarmuka mirip denganSQL, tetapi dengan kemampuan yang lebih sesuai sehingga lahirlah MySQL.Tentang pengambilan nama MySQL, sampai saat ini masih belum jelas asalusulnya. Ada yang berpendapat nama My diambil dari huruf depan danbelakang Monty, tetapi versi lain mengatakan nama itu diambil dariputri Monty yang kebetulan juga bernama My.
II. Keistimewaan MySQL
Sebagaidatabase server yang memiliki konsep database modern, MySQL memilikibanyak sekali keistimewaan. Berikut ini beberapa keistimewaan yangdimiliki oleh MySQL:
a. Portability
MySQL dapat berjalan stabil pada berbagai OS seperti Windows, Linux, Unix, Mac OS, Solaris, Unix, Amiga, HP-UX, Symbian.
b. Open Source "limited”
Dahulu MySQL didistribusikan secara open source (gratis), dibawahlisensi GPL sehingga kita dapat menggunakannya secara cuma-cuma tanpadipungut biaya. Namun, saat ini karena MySQL telah dibeli oleh SUN,maka kita tidak dapat lagi menikmati fitur-fitur baru yang ada diMySQL, karena SUN akan membatasi fitur-fitur baru ini hanya untuk useryang membeli lisensinya. Sehingga MySQL tidak lagi sebuah opensourceyang benar-benar gratis lagi. MySQL sekarang hanya menyediakanfitur-fitur "dasar” saja yang saat ini sudah menggunakan versi 5.1.Untuk mendownloadnya silahkan download di sini dan dicari versi MySQL dengan OS kita.
c. Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaantanpa mengalami konflik. Hal ini memungkinkan sebuah database serverMySQL dapat diakses klien secara bersamaan.
d. Performance Tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani querysederhana, dengan kata lain dapat memproses lebih banyak SQL per satuanwaktu.
e. Column Types
MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsignedinteger, float, double, char, varchar, text, blob, date, time,datetime, timestamp, year, set serta enum.
f. Command dan Functions
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.
g. Security
MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask,nama host, dan izin akses user dengan sistem perizinan yang mendetailserta password terenkripsi.
h. Scalability dan Limits
MySQL ammpu menangani database dalam skala besar dengan jumlah recordslebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu,batas index yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
i. Connectivity
MySQL dapat melakukan koneksi dengan klien menggunakan TCP/IP, Unix soket (Unix), atau Named Pipes (NT).
j. Localisation
MySQL dapat mendeteksi pesan kesalahan (error code) pada klien dengan menggunakan lebih dari dua puluh bahasa.
k. Interface
MySQL memiliki interface terhadap berbagai aplikasi dan bahasapemrograman dengan menggunakan fungsi API (Application ProgrammingInterface).
l. Clients dan Tools
MySQL dilengkapi dengan berbagai tool yang dapat digunakan untukadministrasi database, dan pada setiap tool yang ada disertakanpetunjuk online.
m. Struktur Tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan database lainnya.
III. Ketentuan Memberi Perintah dalam MySQL
Berikut adalah ketentuan-ketentuan member perintah pada MySQL:
- Setiapperintah harus diakhiri dengan tanda titik koma (;) atau denganmemberikan perintah \g atau \G. Namun, pada umumnya user menggunakantanda titik koma untuk mengakhiri perintah pada MySQL.
- Setiapperintah akan disimpan dalam buffer (memori sementara) untuk menyimpanhistori perintah-perintah yang pernah diberikan.
- Perintah dapat berupa perintah SQL atau perintah khusus MySQL.
- Perintah-perintah yang bukan SQL dapat dipendekkan dengan menggunakan \ dan huruf depan perintah.
- Perintah help atau \h digunakan untuk menampilkan daftar dan aturan memberikan perintah di lingkungan MySQL.
- Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, tetapi case insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf kecil.
- Aturan case sensitive diterapkanpada penamaan objek-objek dalam database seperti nama database ataunama table, namun aturan ini hanya ada dalam lingkungan Unix dan Linux.
- Untuk melihat perintah-perintah yang sudah pernah kita ketikkan, tekan tombol tanda panah atas.
IV. Perintah-Perintah dasar MySQL
Untukmengikuti tutorial ini, dianggap MySQL sudah terinstal dengan baikdalam sistem. Jika menggunakan Linux Centos, dan terhubung denganinternet, maka untuk menginstal MySQL cukup ketikkan:
# yum -y install mysql*
maka MySQL akan langsung terinstal ke dalam sistem Linux secara otomatis. Setelah itu nyalakan MySQL dengan cara:
# service mysqld start
makaMySQL siap untuk digunakan. Penulis menggunakan Linux Centos 5 danMySQL versi 5.0 di dalam tutorial ini. Tulisan yang diberikan cetaktebal, maka itu berarti perintah-perintah MySQL.
1. Mengecek Paket MySQL
Untuk mengecek paket-paket MySQL, ketikkan perintah:
# rpm -qa | grep mysql
2. Melihat versi MySQL
Untuk melihat versi MySQL yang ada dalam sistem, ketikkan:
# mysql -version
3. Masuk ke MySQL
Ketikkan mysql pada sistem agar kita bisa masuk ke dalam database MySQL.
4. Melihat Database
Untuk melihat database apa yang di MySQL, ketikkan:
> show databases;
5. Membuat Database baru
Untuk membuat database baru, ketikkan perintah:
> create database nama_database;
Ingat:nama_database dirubah menjadi nama database sesuai dengan anda. Dalamtutorial ini kita akan membuat database latihan, sehingga perintahnyamenjadi:
> create database latihan;
6. Menggunakan Database;
Untuk menggunakan database yang ada di MySQL, ketikkan perintah:
> use nama_database;
Karena kita telah membuat database latihan, maka kita akan menggunakan database ini, sehingga perintah tersebut menjadi:
> use latihan;
7. Membuat Table
Di dalam database latihan, kita akan membuat tabel-tabel dengan format:
> create table nama_tabel (nama_data tipe_data (panjang_karakter), ...);
Tipe-tipedata pada MySQL bermacam-macam dan dapat dilihat lengkap di sini.panjang_karakter merupakan jumlah karakter maksimum yang ditampung didalam sebuah field. Kali ini, kita akan membuat tabel alamat yangberisi field no, nama, alamat, kota, telepon.
8. Melihat Table
Untuk melihat table yang sudah kita buat, ketikkan perintah:
> show tables;
Namun, untuk melihat sebuah table yang lebih lengkap beserta tipe-tipe datanya, ikuti format berikut:
> describe nama_table;
Dalam kasus kita,
> describe alamat;
9. Merubah Nama Field
Apabila kita ingin merubah nama field pada tabel yang sudah jadi, maka harus mengikuti format:
> alter table nama_table change nama_field_lama nama_field_baru tipe_data(panjang_karakter);
Pada perintah ini, tipe_data dan panjang_karakter dapat dirubah. Dalam kasus kita:
> alter table alamat change no nomor varchar(10);
Untuk melihatnya apa yang telah kita rubah, ketikkan:
> describe alamat;
10. Merubah Tipe Data
Jika kita ingin merubah tipe data sebuah field, maka harus mengikuti format:
> alter table nama_table modify nama_field tipe_data_baru(panjang_karakter);
Dalam kasus kita:
> alter table alamat modify kota varchar(17);
11. Menambah Kolom/Field
Format untuk menambah kolom/field pada sebuah tabel adalah:
> alter table nama_table add field_baru tipe_data(panjang_karakter);
Dalam kasus kita:
> alter table alamat add email varchar(20);
12. Menghapus Field/Kolom
Format untuk menghapus kolom/field pada sebuah tabel adalah:
> alter table nama_table drop nama_field;
Dalam kasus kita:
> alter table alamat drop email;
13. Mengganti Nama Tabel
Format untuk mengganti nama tabel adalah:
> alter table nama_table_lama rename nama_table_baru;
Dalam kasus kita:
> alter table alamat rename teman;
14. Memasukkan Data-Data
Format untuk memasukkan data-data pada sebuah tabel adalah:
> insert into nama_table values ('data_field_1′,'data_field_2′,...);
Dalam kasus kita:
14. Mengubah Data-Data
Format untuk merubah data-data pada sebuah tabel adalah:
> update nama_table set nama_field='isian_baru' where nama_field_lain='isi_field_tersebut';
Contoh:
> update teman set nama='hari irah' where no=2;
maka nama seseorang yang berada di nomor 2 akan berubah menjadi hari irah.
15. Melihat Data-Data
Format umum untuk melihat data-data pada sebuah tabel adalah:
> select nama_field from nama_table where nama_field_lain='isi_field_tersebut';
Agarbisa lebih mengerti dengan pembahasan ini, cobalah tambah beberapa dataseperti pada poin 13 dengan beberapa field memiliki nilai yang sama.Karena untuk melihat table memiliki banyak format, maka kita bisamelihat sebuah tabel dengan berbagai macam cara, seperti:
a. Menampilkan semua kolom
Format:
> select * from nama_table;
Contoh:
> select * from teman;
b. Menampilkan kolom tertentu
Format:
> select nama_field from nama_table;
Contoh:
> select nama, telepon from alamat;
c. Menampilkan kolom tertentu dengan kondisi tertentu
Format:
> select nama_field from nama_table where nama_field_lain='isi_field_tersebut';
Contoh:
> select nama from teman where kota='jakarta';
d. Menghindari Pengulangan Data Pada Kolom
Format:
> select distinct nama_field from nama_table;
Contoh:
> select distinct kota from teman;
e. Membatasi data yang ditampilkan
Format:
> select nama_field_yang_mau_ditampilkan from nama_table limit dari_baris,sampai_baris;
Contoh kita akan menampilkan data yang dimulai dari baris kedua sampai keenam, maka perintahnya adalah:
> select * from teman limit 2,6;
f. Mengurutkan data
Format:
> select nama_field_yang_mau_ditampilkan from nama_table order by nama_field klausa;
Klausa format ini ada 2 yaitu asc yaitu akan mengurutkan data naik dari yang terkecil dan desc yaitu kebalikannya.
g. Menggabungkan beberapa kondisi
Format:
> select nama_field_yang_mau_ditampilkan from nama_table where nama_field='isi_field' operator_logika nama_field='isi_field';
Opearator_logika disini ada 2 yaitu and dan or. Untuk melihat perbedaan diantara keduanya, perhatikan gambar dibawah ini:
h. Memberi batas data
Format:
> select nama_field_yang_mau_ditampilkan from nama_table where nama_field between isi_field and isi_field;
i. Mencari Data Dengan Kriteria Tertentu
Format:
> select nama_field_yang_mau_ditampilkan from nama_table where nama_field like '%';
'%' ada 3 macam, yaitu:
'keyword%': Mencari data yang diawali dengan keyword
'%keyword': Mencari data yang diakhiri dengan keyword
'%keyword%': Mencari data yang mengandung keyword
j. Menghitung Sejumlah nilai (Fungsi Agregat)
Nama Fungsi
Deskripsi
SUM()
Menghitung jumlah nilai pada suatu kolom
AVG()
Menghitung nilai rata-rata pada suatu kolom
MAX()
Mencari nilai maksimal pada suatu kolom
MIN()
Mencari nilai minimal pada suatu kolom
COUNT()
Menghitung jumlah baris pada suatu kolom
16. Menghapus Tabel
Format:
> drop table nama_table;
Dalam kasus kita:
> drop table alamat;
17. Menghapus Database
Format:
> drop database nama_database;
Dalam kasus kita:
> drop database latihan;
18. Keluar dari MySQL
Format:
> quit;
atau
> exit;