Mysql資料庫字串替換常用語句

來源:互聯網
上載者:User

站編輯工作有時需要對以前更新的某些內容進行修改,如果只是簡單的幾條資料,我們只需要直接去網站後台或者MYSQL資料表中修改即可,但如果需要批量修改大量同一字串時,就需要靈活的選用MYSQL語句進行批量替換,常用Mysql資料庫字串替換語句如下


replace替換字串的實現方法:

mysql中replace函數直接替換mysql資料庫中某欄位中的特定字串,不再需要自己寫函數去替換,用起來非常的方便。 mysql 替換函數replace()

 代碼如下 複製代碼

?UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE `field_name` LIKE '%from_str%'


說明:

table_name —— 表的名字
field_name —— 欄位名
from_str —— 需要替換的字串
to_str —— 替換成的字串

 

將web_cn0797表subject欄位中的xxxxccc替換成 賴雪平

 代碼如下 複製代碼
UPDATE `web_cn0797`
SET `subject` = REPLACE(`subject`, 'xxxxccc', '賴雪平')
WHERE INSTR(`subject`,'xxxxccc') > 0替換web_cn0797表的message欄位,將“viewthread.php?tid=3989”

替換成“viewthread.php?tid=16546”

 代碼如下 複製代碼
UPDATE `web_cn0797`
SET `message`= REPLACE(`message`, 'viewthread.php?tid=3989', 'viewthread.php?tid=16546')
WHERE INSTR(`message`,'viewthread.php?tid=3989')  >  0 ;

刪除所有的空格

 代碼如下 複製代碼
UPDATE `es_product`   SET `pro_pub_time` = TRIM(`pro_pub_time`)

刪除所有飽含’['或者']‘或者’.'的字元

 代碼如下 複製代碼
UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '[','') 
WHERE INSTR(`pro_pub_time`,'[')  >  0UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, ']','') 
WHERE INSTR(`pro_pub_time`,']')  >  0UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '.','-') 
WHERE INSTR(`pro_pub_time`,'.')  >  0

替換所有含中文’-'的為英文’-’

UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '-','-') 
WHERE INSTR(`pro_pub_time`,'-')  >  0將所有的年月都替換成’-’

 代碼如下 複製代碼
UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '年','-') 
WHERE INSTR(`pro_pub_time`,'年')  >  0UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '月','-') 
WHERE INSTR(`pro_pub_time`,'月')  >  0

將所有’2005-04-’這種類型的替換成’2005-04-01′

 代碼如下 複製代碼
UPDATE `es_product`   SET `pro_pub_time` = CONCAT( `pro_pub_time`, '01') 
WHERE SUBSTRING_INDEX( `pro_pub_time`, '-', -1) = '' AND LENGTH(`pro_pub_time`) > 0
AND LENGTH(`pro_pub_time`)  >  5

將所有’2005-’這種類型替換成’2005-01-01′

 代碼如下 複製代碼
UPDATE `es_product`   SET `pro_pub_time` = CONCAT( `pro_pub_time`, '01-01')
WHERE INSTR(`pro_pub_time`,'-')  >  0 AND   LENGTH(`pro_pub_time`) = 5

將所有 飽含’-',但是位元小於8的改成追加’-01′

 代碼如下 複製代碼
UPDATE `es_product`   SET `pro_pub_time` = CONCAT( `pro_pub_time`, '-01')
WHERE INSTR(`pro_pub_time`,'-')  >  0 AND   LENGTH(`pro_pub_time`)  >  8

將所有’2005′這樣的改成’2005-01-01′

 代碼如下 複製代碼
UPDATE `es_product`   SET `pro_pub_time` = CONCAT(`pro_pub_time`,'-01-01')
WHERE INSTR(`pro_pub_time`,'-') = 0 AND   LENGTH(`pro_pub_time`) = 4

最後將所有’2005-01-01′格式化成’2005年01月’

 代碼如下 複製代碼

UPDATE `es_product` 
SET `pro_pub_time` = DATE_FORMAT(`pro_pub_time`,'%Y年%m月')
WHERE INSTR(`pro_pub_time`,'-')  >  0

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.