MySQL replace函數調換字符串語句的用法。本站提示廣大學習愛好者:(MySQL replace函數調換字符串語句的用法)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL replace函數調換字符串語句的用法正文
MySQL replace函數我們常常用到,上面就為您具體引見MySQL replace函數的用法,願望對您進修MySQL replace函數方面能有所啟發。
比來在研討CMS,在數據轉換的時刻須要用到mysql的MySQL replace函數,這裡簡略引見一下。
好比你要將表 tb1外面的 f1字段的abc調換為def
UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');
REPLACE(str,from_str,to_str)
在字符串 str 中一切湧現的字符串 from_str 均被 to_str調換,然後前往這個字符串:
mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'
這個函數是多字節平安的。
示例:
UPDATE `dede_addonarticle` SET body = REPLACE ( body, '</td>', '' );
UPDATE `dede_addonarticle` SET body = REPLACE ( body, '</tr>', '' );
UPDATE `dede_addonarticle` SET body = REPLACE ( body, '<tr>', '' );
UPDATE `dede_archives` SET title= REPLACE ( title, '年夜洋消息 - ', '' );
UPDATE `dede_addonarticle` SET body = REPLACE ( body, '../../../../../../', 'http://sc.jb51.net/meal/' );
mysql replace
用法1.replace intoreplace into table (id,name) values('1','aa'),('2','bb')
此語句的感化是向表table中拔出兩筆記錄。
2.replace(object, search,replace)
把object中湧現search的全體調換為replaceselect replace('www.163.com','w','Ww')--->WwW wWw.163.com
例:把表table中的name字段中的 aa調換為bbupdate table set name=replace(name,'aa','bb')
上面是其它網友的文章,可以參考下:
明天有意當中發明了replace的用法,而且在項目中還有相干的運用,運用到項目中果真是屢試不爽。同伙們就來看下關於repace的具體說明吧。
REPLACE的運轉與INSERT很相像。只要一點除外,假如表中的一個舊記載與一個用於PRIMARY KEY或一個UNIQUE索引的新記載具有雷同的值,則在新記載被拔出之前,舊記載被刪除。請拜見13.2.4節,“INSERT語法”。
留意,除非表有一個PRIMARY KEY或UNIQUE索引,不然,應用一個REPLACE語句沒成心義。該語句會與INSERT雷同,由於沒有索引被用於肯定能否新行復制了其它的行。
一切列的值均取安閒REPLACE語句中被指定的值。一切缺掉的列被設置為各自的默許值,這和INSERT一樣。您不克不及從以後行中援用值,也不克不及在新行中應用值。假如您應用一個例如“SET col_name = col_name + 1”的賦值,則對位於右邊的列稱號的援用會被作為DEFAULT(col_name)處置。是以,該賦值相當於SET col_name = DEFAULT(col_name) + 1。
為了可以或許應用REPLACE,您必需同時具有表的INSERT和DELETE權限。
REPLACE語句會前往一個數,來指導受影響的行的數量。該數是被刪除和被拔出的行數的和。假如關於一個單行REPLACE該數為1,則一行被拔出,同時沒有行被刪除。假如該數年夜於1,則在新行被拔出前,有一個或多個舊行被刪除。假如表包括多個獨一索引,而且新行復制了在分歧的獨一索引中的分歧舊行的值,則有能夠是一個單一行調換了多個舊行。
受影響的行數可以輕易地肯定能否REPLACE只添加了一行,或許能否REPLACE也調換了其它行:檢討該數能否為1(添加)或更年夜(調換)。
假如您正在應用C API,則可使用mysql_affected_rows()函數取得受影響的行數。
今朝,您不克不及在一個子查詢中,向一個表中改換,同時從統一個表當選擇。
以下是所用算法的更具體的解釋(該算法也用於LOAD DATA…REPLACE):
1. 測驗考試把新行拔出到表中
2. 當由於關於主鍵或獨一症結字湧現反復症結字毛病而形成拔出掉敗時:
a. 從表中刪除含有反復症結字值的抵觸行
b. 再次測驗考試把新行拔出到表中
應用格局:
REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},…),(…),…
或:
REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, …
或:
REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
SELECT …