最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中REPLACE函數(shù)與語句舉例詳解

 更新時間:2025年08月15日 08:26:23   作者:愛的嘆息  
在MySQL中REPLACE函數(shù)是一個用于處理字符串的強(qiáng)大工具,它的主要功能是替換字符串中的某些子字符串,這篇文章主要介紹了MySQL中REPLACE函數(shù)與語句的相關(guān)資料,需要的朋友可以參考下

MySQL 的 REPLACE 有兩個不同的用途,分別是:

  1. REPLACE() 函數(shù):用于字符串替換。
  2. REPLACE INTO 語句:用于插入或替換整行記錄(類似 INSERT INTO ... ON DUPLICATE KEY UPDATE)。

一、REPLACE()函數(shù)

語法:

REPLACE(str, from_str, to_str)

參數(shù)說明:

參數(shù)類型描述
str字符串原始字符串
from_str字符串要被替換的子字符串
to_str字符串替換后的新子字符串

功能說明:

將字符串 str 中所有的 from_str 子字符串替換成 to_str,并返回新的字符串。如果 str 中不包含 from_str,則返回原始字符串。

示例:

SELECT REPLACE('http://8.130.70.131/image.jpg', '8.130.70.131', 'zhongyuele.top');
-- 返回: http://zhongyuele.top/image.jpg

二、REPLACE INTO語句

語法:

REPLACE INTO table_name [(column1, column2, ...)]
VALUES (value1, value2, ...);

參數(shù)說明:

參數(shù)類型描述
table_name表名要操作的數(shù)據(jù)表
(column1, column2, ...)列名列表可選,指定插入列
(value1, value2, ...)值列表對應(yīng)列的值

功能說明:

  • 如果插入的記錄與表中已有的主鍵或唯一索引沖突,則刪除舊記錄并插入新記錄。
  • 否則,直接插入新記錄。
  • 本質(zhì)是“先刪除再插入”,不是更新!

示例:

REPLACE INTO users (id, name) VALUES (1, 'Alice');

如果 users 表中已有 id = 1 的記錄,則該記錄會被刪除并插入新記錄。

總結(jié)對比表格

特性REPLACE(str, from_str, to_str)REPLACE INTO
類型字符串函數(shù)SQL 語句
使用場景替換字符串中的部分內(nèi)容插入或替換整條記錄
是否影響原數(shù)據(jù)不修改原數(shù)據(jù),僅返回新字符串實際執(zhí)行寫操作(刪除 + 插入)
是否需要唯一索引是(依賴主鍵或唯一約束)
返回值替換后的字符串影響的行數(shù)(1 或 2)
示例SELECT REPLACE(name, 'a', 'A')REPLACE INTO table VALUES(...)

注意事項

  • REPLACE INTO 實際上是“刪除+插入”,如果有自增主鍵,會導(dǎo)致 ID 變化。
  • REPLACE() 函數(shù)區(qū)分大小寫(默認(rèn)情況下)。
  • 在使用 REPLACE INTO 時要確保有合適的主鍵或唯一索引,否則等同于普通插入。

如需更細(xì)粒度控制(例如只更新某些字段),建議使用 INSERT INTO ... ON DUPLICATE KEY UPDATE

案例

以下是實現(xiàn)批量替換 [goods](file://D:\workspace\me\rbac2024\read\后臺系統(tǒng)\shop-api\itmk-base-web\src\main\java\com\itmk\web\sys_banner\entity\SysBanner.java#L23-L24) 表中 [image](file://D:\workspace\me\rbac2024\read\后臺系統(tǒng)\shop-api\itmk-base-web\src\main\java\com\itmk\web\goods\entity\Goods.java#L47-L47) 列包含 8.130.70.131 字符串為 zhongyuele.top 的 SQL 語句,并對語法中的關(guān)鍵字進(jìn)行詳細(xì)說明,最后以表格形式總結(jié)。

執(zhí)行 SQL 語句

UPDATE goods
SET image = REPLACE(image, '8.130.70.131', 'zhongyuele.top')
WHERE image LIKE '%8.130.70.131%';

關(guān)鍵字說明

關(guān)鍵字/函數(shù)說明
UPDATE用于修改表中的數(shù)據(jù)。指定要更新的表名(這里是 [goods](file://D:\workspace\me\rbac2024\read\后臺系統(tǒng)\shop-api\itmk-base-web\src\main\java\com\itmk\web\sys_banner\entity\SysBanner.java#L23-L24))。
SET指定要更新的列和新的值。這里將 [image](file://D:\workspace\me\rbac2024\read\后臺系統(tǒng)\shop-api\itmk-base-web\src\main\java\com\itmk\web\goods\entity\Goods.java#L47-L47) 列設(shè)置為 REPLACE(...) 的結(jié)果。
REPLACE(str, from_str, to_str)MySQL 內(nèi)置字符串函數(shù),用于將 str 中的所有 from_str 替換為 to_str
WHERE可選,但建議加上,用于限定只更新包含 8.130.70.131 的記錄,避免全表更新影響性能。
LIKE用于模式匹配,這里的 % 是通配符,表示任意字符序列。'%8.130.70.131%' 表示包含該字符串的所有記錄。

總結(jié)表格

SQL 元素示例含義
UPDATEUPDATE goods更新 [goods](file://D:\workspace\me\rbac2024\read\后臺系統(tǒng)\shop-api\itmk-base-web\src\main\java\com\itmk\web\sys_banner\entity\SysBanner.java#L23-L24) 表的數(shù)據(jù)
SETSET image = ...設(shè)置 [image](file://D:\workspace\me\rbac2024\read\后臺系統(tǒng)\shop-api\itmk-base-web\src\main\java\com\itmk\web\goods\entity\Goods.java#L47-L47) 列的新值
REPLACE()REPLACE(image, '8.130.70.131', 'zhongyuele.top')替換 [image](file://D:\workspace\me\rbac2024\read\后臺系統(tǒng)\shop-api\itmk-base-web\src\main\java\com\itmk\web\goods\entity\Goods.java#L47-L47) 列中的舊字符串為新字符串
WHEREWHERE image LIKE '%8.130.70.131%'僅更新包含目標(biāo)字符串的行
LIKE'%'通配符,匹配任意字符組合

注意事項

  • 備份數(shù)據(jù):在執(zhí)行前請先備份表數(shù)據(jù)。
  • 測試環(huán)境驗證:建議先在測試環(huán)境中運(yùn)行確認(rèn)無誤后再上線。
  • 性能考慮:若表數(shù)據(jù)量大,建議在低峰期執(zhí)行,或分批次更新。

例如分頁更新:

UPDATE goods
SET image = REPLACE(image, '8.130.70.131', 'zhongyuele.top')
WHERE image LIKE '%8.130.70.131%'
LIMIT 1000;

可多次執(zhí)行直到所有記錄處理完畢。

總結(jié)

到此這篇關(guān)于MySQL中REPLACE函數(shù)與語句舉例的文章就介紹到這了,更多相關(guān)MySQL中REPLACE函數(shù)語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL的隱式類型轉(zhuǎn)換整理總結(jié)

    MySQL的隱式類型轉(zhuǎn)換整理總結(jié)

    隱式類型轉(zhuǎn)換有無法命中索引的風(fēng)險,在高并發(fā)、大數(shù)據(jù)量的情況下,命不中索引帶來的后果非常嚴(yán)重。下面這篇文章主要給大家整理總結(jié)了關(guān)于MySQL的隱式轉(zhuǎn)化,需要的朋友可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 深入理解Mysql中的MVCC

    深入理解Mysql中的MVCC

    這篇文章主要介紹了深入理解Mysql中的MVCC,同樣的sql查詢語句在一個事務(wù)?里多次執(zhí)行查詢結(jié)果相同,就算其它事務(wù)對數(shù)據(jù)有修改也不會影響當(dāng)前事務(wù)sql語句的查詢結(jié)果,?這個隔離性就是靠MVCC機(jī)制來保證的,需要的朋友可以參考下
    2023-09-09
  • MySQL底層文件的查看和修改方法

    MySQL底層文件的查看和修改方法

    MySQL 底層文件分為文本類(可安全查看/修改)和二進(jìn)制類(禁止手動操作),以下按「查看方法、修改方法、風(fēng)險管控三部分詳細(xì)說明,所有操作均以 Linux 環(huán)境為例,需要的朋友可以參考下
    2025-12-12
  • MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)

    MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié)

    這篇文章主要介紹了MySQL 數(shù)據(jù)庫 like 語句通配符模糊查詢小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • MySql中的json_extract函數(shù)處理json字段詳情

    MySql中的json_extract函數(shù)處理json字段詳情

    這篇文章主要介紹了MySql中的json_extract函數(shù)處理json字段詳情,利用json_extract函數(shù)可以通過key查詢value值的一個介紹展開相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-06-06
  • 使用YUM在Linux(CentOS 7)下安裝mysql 5.7.18的教程詳解

    使用YUM在Linux(CentOS 7)下安裝mysql 5.7.18的教程詳解

    這篇文章主要介紹了使用YUM在Linux(CentOS 7)下安裝mysql 5.7.18的教程詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • mysql 5.7.17 免安裝版配置方法圖文教程(windows10)

    mysql 5.7.17 免安裝版配置方法圖文教程(windows10)

    這篇文章主要為大家詳細(xì)介紹了windows10下mysql 5.7.17 免安裝版配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Mysql中實現(xiàn)修改主鍵自增值

    Mysql中實現(xiàn)修改主鍵自增值

    這篇文章主要介紹了Mysql中實現(xiàn)修改主鍵自增值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 聊聊MySQL中的存儲引擎

    聊聊MySQL中的存儲引擎

    MySQL是當(dāng)前流行的數(shù)據(jù)庫引擎之一,具有成本低、速度快、體積小且開放源代碼的優(yōu)點(diǎn)。這篇文章主要介紹了MySQL中存儲引擎的相關(guān)知識,幫助大家更好的理解和學(xué)習(xí)數(shù)據(jù)庫技術(shù),感興趣的朋友可以了解下
    2020-08-08
  • Mac環(huán)境mysql5.7.21 utf8編碼問題及解決方案

    Mac環(huán)境mysql5.7.21 utf8編碼問題及解決方案

    本篇教程給大家簡單介紹下Mac環(huán)境mysql5.7.21 utf8編碼問題及解決方案,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-03-03

最新評論

大冶市| 石屏县| 左权县| 武陟县| 双江| 屯昌县| 吉水县| 盱眙县| 密云县| 通渭县| 绥中县| 东乡县| 银川市| 清镇市| 梧州市| 长武县| 同江市| 盘山县| 许昌县| 满城县| 长葛市| 贞丰县| 林周县| 张掖市| 福泉市| 新乐市| 通城县| 襄垣县| 潜江市| 宁安市| 开封市| 福建省| 开化县| 达日县| 多伦县| 安徽省| 宣恩县| 济阳县| 独山县| 盘锦市| 新田县|