insert 语句_替换某字段中的特定字符串——MySQL REPLACE 与INSERT 函数详解
MySQL提供了一個非常實用的字符串函數(shù)——REPLACE() 函數(shù),它允許用新的字符串替換字段中的特定字符串,而不再需要自己寫函數(shù)去替換,用起來非常的方便。
REPLACE() 函數(shù)語法
需要注意的是,MySQL中也有一個叫作 REPLACE的語句,它用于插入或更新數(shù)據(jù),使用 REPLACE語句 寫入一條記錄時, 如果發(fā)現(xiàn)表中已經(jīng)有此行數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷)則先刪除此行數(shù)據(jù),然后插入新的數(shù)據(jù),否則,直接插入新數(shù)據(jù)。
因此不要將REPLACE語句 與這里的 REPLACE()函數(shù)混淆,在文中末尾附REPLACE語句介紹文章鏈接。
REPLACE()函數(shù)
REPLACE() 函數(shù)中有三個參數(shù),它將 string 中的 old_string 替換為new_string 字符串。
REPLACE() 函數(shù)能夠幫助我們非常方便的替換字段中的文本,比如更新失效的URL,糾正拼寫錯誤等。
如上,url_information 表中Tony 的url鏈接已經(jīng)失效,我們需要將Tony的url中的 mp 替換為www,在UPDATE語句中使用 REPLACE()函數(shù) 的語法如下:
執(zhí)行結(jié)果如下:
注意:當(dāng)搜索要替換的文本時,MySQL使用區(qū)分大小寫匹配來執(zhí)行要替換的字符串的搜索。
這里我們再額外了解下另一個被用作替換字符串的函數(shù)——MySQL INSERT()函數(shù)。
INSERT() 函數(shù)語法
INSERT() 函數(shù)返回字符串 s1,子字符串起始于 x 位置,被字符串s2取代len個字符。
接下來,我們使用如上 url_information 表來體驗一下 INSERT()函數(shù),如下:
執(zhí)行上述三條SQL,結(jié)果如下:
我們結(jié)合如上執(zhí)行結(jié)果,來了解一下INSERT() 函數(shù)的用法:
- 第一個函數(shù) INSERT(url,5,7,'baidu')將從url字段第 5 個字符開始長度為 7 的字符串替換為 'baidu'。
- 第二個函數(shù) INSERT(url,-1,4,'baidu') 中的起始位置 -1 超出了字符串長度,直接返回原字符串。
- 第三個函數(shù) INSERT(url,5,20,'baidi') 替換長度超出了原字符串長度,則從第 5 個字符開始,截取后面所有的字符,并替換為指定字符 'baidu'。
REPLACE語法介紹:MYSQL更新寫入數(shù)據(jù)—不同于INSERT INTO 的REPLACE INTO語法介紹
總結(jié)
以上是生活随笔為你收集整理的insert 语句_替换某字段中的特定字符串——MySQL REPLACE 与INSERT 函数详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: groupby函数_干货分享|达梦数据库
- 下一篇: mysql一次性获取几十万数据_《快速念