MySQL批量替換指定字段字符串語句
UPDATE 數據表名 SET 字段名 = replace(字段名, '要替換的字符串', '替換為') WHERE 設定條件;
例子
代碼如下 復制代碼UPDATE `cdb_name` SET `field_name` = replace (`field_name`,'from_str','to_str')
說明:
cdb_name —— 該字符或字符串所在表的名字
field_name —— 該字符或字符串所在字段的字段名
from_str —— 需要替換的字符串
to_str —— 替換成的字符串
例如:
進入phpmyadmin,打開要操作的數據庫,點擊上方的sql,執行以下sql語句:(這裡我使用的Discuz做演示)
代碼如下 復制代碼UPDATE `pre_forum_post` SET `author` = replace( `author` , '祥磊部落', '祥磊' )
意思是把用戶名“祥磊部落”修改為“祥磊”,其中pre_要修改為您自己數據庫的表前綴。
代碼如下 復制代碼UPDATE phpcms_article SET title=REPLACE(title,'[2009]','〔2009〕');
UPDATE phpcms_article SET content=REPLACE(content,'[2009]','〔2009〕');
語句中還可以加入替換條件,如只替換限定ID小於200的內容:
代碼如下 復制代碼UPDATE wp_posts SET post_content = replace(post_content, '搜索引擎優化', '搜索引擎營銷') WHERE ID < 200;
後面附一個高級點的
代碼如下 復制代碼UPDATE `cdb_settings` SET `value` = '' WHERE CONVERT( `variable` USING utf8 ) ='adminipaccess' LIMIT 1 ;