星期三, 9月 29, 2010

快速變更MYSQL資料庫表單編碼及取代欄位內的值

將欄位內容''yuanhong.dotzing.com.tw''取代成'www.chirodrhuang.com.tw',並使用WHERE 語法來更新指定的欄位。



語法



UPDATE 表格名稱 SET `欄位名稱` = REPLACE(`欄位名稱`, 'yuanhong.dotzing.com.tw', 'www.chirodrhuang.com.tw') WHERE`hid`='chirodrhuang'



範例



UPDATE webpage SET `content` = REPLACE(`content`, 'yuanhong.dotzing.com.tw', 'www.chirodrhuang.com.tw') WHERE`hid`='chirodrhuang'



轉換資料表及欄位內的編碼,SQL語法如下



ALTER TABLE `admin` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci 



MySQL 的 Replace 功能 資料來源 http://www.hkcode.com/programming/71



要對 MySQL 資料庫內的資料替換字串,可以借助 PHP 的 str_replace(),但這實在太麻煩了,其實MySQL 已內建了這個功能,以下語句可以將 [table] 資料表的 [field] 欄位作 replace 動作,[str_search] 是搜索字串;[str_replace] 是替換字串。



update [table] set [field]=replace([field],’[str_search]’,'[str_replace]’);



如果不想將整個資料表的欄位資料更換,可以在最後用 where 做條件選擇,例如:



update [table] set [field]=replace([field],’[str_search]’,'[str_replace]’) where `zip`=’852′;



以上語句跟第一句的分別是,第二句只會對欄位 “zip” 為 “852″ 的紀錄作更改。

沒有留言: