Friday, July 27, 2012

Perintah dasar MYSQL


I. Pendahuluan

MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi berbasis web pada client. Awalnya Michael "Monty" Widenius, pengembang satu-satunya di TcX memiliki sebuah aplikasi UNIREG
dan rutin ISAM buatannya sendiri dan sedang mencari antarmuka SQL yang cocok untuk diimplementasikan ke dalamnya. Mula-mula Monty memakai miniSQL (mSQL) pada eksperimennya itu, namun SQL dirasa kurang sesuai, karena terlalu lambat dalam pemrosesan query. Akhirnya Monty menghubungi David Hughes, pembuat mSQL yang sedang merilis versi kedua dari mSQL. Kemudian Monty mencoba membuat sendiri mesin SQL yang memiliki antarmuka mirip dengan SQL, tetapi dengan kemampuan yang lebih sesuai sehingga lahirlah MySQL. Tentang pengambilan nama MySQL, sampai saat ini masih belum jelas asal usulnya. Ada yang berpendapat nama My diambil dari huruf depan dan belakang Monty, tetapi versi lain mengatakan nama itu diambil dari putri Monty yang kebetulan juga bernama My.

II. Keistimewaan MySQL

Sebagai database server yang memiliki konsep database modern, MySQL memiliki banyak sekali keistimewaan. Berikut ini beberapa keistimewaan yang dimiliki 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), dibawah lisensi GPL sehingga kita dapat menggunakannya secara cuma-cuma tanpa dipungut biaya. Namun, saat ini karena MySQL telah dibeli oleh SUN, maka kita tidak dapat lagi menikmati fitur-fitur baru yang ada di MySQL, karena SUN akan membatasi fitur-fitur baru ini hanya untuk user yang membeli lisensinya. Sehingga MySQL tidak lagi sebuah opensource yang benar-benar gratis lagi. MySQL sekarang hanya menyediakan fitur-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 bersamaan tanpa mengalami konflik. Hal ini memungkinkan sebuah database server MySQL dapat diakses klien secara bersamaan.
d. Performance Tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
e. Column Types
MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, 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 mendetail serta password terenkripsi.
h. Scalability dan Limits
MySQL ammpu menangani database dalam skala besar dengan jumlah records lebih 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 bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
l. Clients dan Tools
MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk 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:
  • Setiap perintah harus diakhiri dengan tanda titik koma (;) atau dengan memberikan perintah \g atau \G. Namun, pada umumnya user menggunakan tanda titik koma untuk mengakhiri perintah pada MySQL.
  • Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan histori 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 diterapkan pada penamaan objek-objek dalam database seperti nama database atau nama 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

Untuk mengikuti tutorial ini, dianggap MySQL sudah terinstal dengan baik dalam sistem. Jika menggunakan Linux Centos, dan terhubung dengan internet, 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
maka MySQL siap untuk digunakan. Penulis menggunakan Linux Centos 5 dan MySQL versi 5.0 di dalam tutorial ini. Tulisan yang diberikan cetak tebal, 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. Dalam tutorial ini kita akan membuat database latihan, sehingga perintahnya menjadi:
> 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-tipe data pada MySQL bermacam-macam dan dapat dilihat lengkap di sini. panjang_karakter merupakan jumlah karakter maksimum yang ditampung di dalam sebuah field. Kali ini, kita akan membuat tabel alamat yang berisi 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';
Agar bisa lebih mengerti dengan pembahasan ini, cobalah tambah beberapa data seperti pada poin 13 dengan beberapa field memiliki nilai yang sama. Karena untuk melihat table memiliki banyak format, maka kita bisa melihat 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;

No comments:

Post a Comment