MySQL
07 June 2012
# Topik
Ikuti Saya
MySQL
Menggunakan REPLACE dalam MySQL
07 June 2012
Syntax REPLACE
mempunyai pelbagai fungsi di dalam MySQL. Ianya bergantung kepada penggunaannya samada dari segi paparan data dan juga pengemaskinian data.
1. Menggunakan REPLACE untuk mewujudkan Line Breaks (<br />).
Selalunya masalah ini terjadi apabila ingin memaparkan data daripada input TEXTAREA di mana apabila data dimasukkan terdapat beberapa baris, terutamanya jika memasukkan input seperti Alamat atau Perenggan. Contohnya :Apabila menggunakan Query biasa, hasilnya seperti berikut :
SELECT alamat FROM senaraiTempahan;
------------------------------------------------------------------------------------
No. 1811, Lorong Persiaran Persona, 18110 W.P. Putrajaya, MALAYSIA.
Dan apabila saya menggunakan SELECT REPLACE
, hasilnya pula seperti berikut :
SELECT REPLACE(alamat,'\n','<br />')alamat FROM senaraiTempahan
------------------------------------------------------------------------------------
No. 1811,
Lorong Persiaran Persona,
18110 W.P. Putrajaya,
MALAYSIA.
2. Menggunakan REPLACE untuk memaparkan data TANPA memaparkan maklumat yang tidak perlu.
+-----------+--------------+-------------+
| id_gambar | gam_thumb | gam_full |
+-----------+--------------+-------------+
| 1 | thumb001.jpg | full001.jpg |
| 2 | thumb002.jpg | full002.jpg |
| 3 | thumb003.jpg | full003.jpg |
+-----------+--------------+-------------+
Saya ingin memaparkan senarai data seperti senarai di atas tanpa memaparkan perkataan thumb
dan full
. Saya menggunakan query berikut :
SELECT
REPLACE( [field_name], '[string_to_find]', '[string_to_replace]' )[field_name]
FROM [table_name];
SELECT id_gambar,
REPLACE( gam_thumb, 'thumb', '' )gam_thumb,
REPLACE( gam_full, 'full', '' )gam_thumb
FROM gambar;
Dan hasilnya adalah seperti berikut :
+-----------+-----------+----------+
| id_gambar | gam_thumb | gam_full |
+-----------+-----------+----------+
| 1 | 001.jpg | 001.jpg |
| 2 | 002.jpg | 002.jpg |
| 3 | 003.jpg | 003.jpg |
+-----------+-----------+----------+
3. Menggunakan REPLACE untuk mengemaskini data.
+-----------+--------------+-------------+
| id_gambar | gam_thumb | gam_full |
+-----------+--------------+-------------+
| 1 | thumb001.jpg | full001.jpg |
| 2 | thumb002.jpg | full002.jpg |
| 3 | thumb003.jpg | full003.jpg |
+-----------+--------------+-------------+
Saya ingin mengemaskini data di dalam database dengan menukarkan perkataan .jpg
kepada .gif
. Query berikut digunakan :
UPDATE [table_name] SET [field_name] = REPLACE( [field_name], '[string_to_find]', '[string_to_replace]' ) ;
UPDATE gambar SET
gam_thumb = REPLACE( gam_thumb, '.jpg', '.gif' ),
gam_full = REPLACE( gam_full, '.jpg', '.gif' ) ;
Dan hasilnya adalah seperti berikut :
+-----------+--------------+-------------+
| id_gambar | gam_thumb | gam_full |
+-----------+--------------+-------------+
| 1 | thumb001.gif | full001.gif |
| 2 | thumb002.gif | full002.gif |
| 3 | thumb003.gif | full003.gif |
+-----------+--------------+-------------+
Sekian, selamat mencuba.