Apr 27, 2009

Belajar Mysql

Sedikit bagi ilmu. mungkin pemirsa terutama yang senang berhubungan intim dengan mysql,mungkin beberapa belum ada yang tau. Kalau MySql menyediakan beberapa fungsi yang menurut anak berbakti powerfull, satu diantaranya adalah fungsi REGULAREXPRESSION. Tentu bagi para programer pasti dah apal dengan fugsi ini, karena memang wajib dimiliki oleh bahasa pemrograman.

Biasanya REGULAREXPRESSION (REGEXP) digunakan untuk mengidentifikasi suatu string atau text, misalnya pemirsa dapat melakukan checking alamat email, ip address, nomer tlp dll. Dan kerennya msql secara built-in mensuport fungsi ini. Langsung saja kita belajar REGEX pada mysql,berikut sintax nya

SELECT nama_kolom
FROM nama_tabel
WHERE nama_kolom REGEXP pattern

Keuntungan menggunakan REGEXP ini adalah,pemirsa sama sekali tidak dibatasi dalam pencarian yang berdasarkan string seperti halnya pada operator LIKE. dan penggunaan REGEX bisa memperpendek penulisan statement perintah Mysql terutama yang menggunakan AND dan OR pada klausa WHERE

ada keuntungan ada pula kerugian, Kerugianya adalah penggunaan REGEX sedikit sulit dimengerti dan dimaintain jika memiliki pattern yang kompleks. misal ada sebuah string dengan nilai 1000AA7B-X1.221, jika ada nilai dengan kondisi konstan misal 1000AA7B-X2.221,1000AA7B-X3.221 dst maka ini mudah saja untuk menseting patern yang suai namun jika tiba-tiba berubah menjadi 1000AA7B-X11.221 tetntu ini diperlukan perubahan pada desain pattern.(saran saya lalukan ini pada sisi pemrograman saja). Kerugian berikutnya adalah, penurunan performa mysql jika patern tidak dilakukan pada table yang ber-index

Ok mari kita liat bagaimana penggunan REGEX sebenarnya, misal klo pemirsa ingin menemukan nama buah yang mempunya nma ber awalan J atau S atau D maka berikut adalah perintahnya

Select nama_buah
From tb_buah
Where nama_buah REGEXP '^(J|S|D)'

kira-kira hasilnya akan spt berikut

+----------+
|nama_buah |
+----------+
|jeruk |
|Salak |
|semangka |
|durian |
+----------+

cb klo pemirsa menggunakan LIKE pasti jauh lebih panjang

3 comments:

Erwine Riedha said...

Wah..kal0 aqw bljar,y blum sampe sana...
Aqw cuman bsa css,html,n javascript d0ank..
Lam knal yah,

Unknown said...

maksih deh atas infonya...

Fachriza said...

Makasih boss, materinya bagus...
Ada tools bagus neeh buat belajar mysql, EMS Mysql Manager namanya. link download :
http://supertechnomedia.blogspot.com/search/label/DB%20Tools