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

MySQL批量處理圖片URL統(tǒng)一去掉域名前綴的方法

 更新時間:2025年11月11日 09:39:40   作者:今天的接口寫完了嗎?  
文章介紹了如何使用MySQL 8.0的新函數(shù)REGEXP_REPLACE()批量處理圖片URL,去掉域名前綴,將所有圖片路徑統(tǒng)一存為相對路徑,從而避免路徑重復(fù)和加載錯誤,需要的朋友可以參考下

在實際開發(fā)中,我們常常遇到這樣的情況:數(shù)據(jù)庫里存儲的圖片路徑既有完整 URL,也有相對路徑。

例如在一張 article 表里:

idimages
1https://cdn.test.com/uploads/20251103/xxx.jpg
2/uploads/20251104/yyy.png,/uploads/20251104/zzz.png
3https://cdn.test.com/uploads/20251104/aaa.png,/uploads/20251104/bbb.png

如果前端代碼統(tǒng)一拼接 CDN 域名,混合存儲就會導(dǎo)致路徑重復(fù),從而出現(xiàn)加載錯誤或者多余前綴的問題。

為了統(tǒng)一管理,我們希望把所有圖片 URL 統(tǒng)一存成 相對路徑,只保留 /uploads/... 部分。

1. MySQL 8.x 提供了 REGEXP_REPLACE

MySQL 8.0 開始,支持 REGEXP_REPLACE() 函數(shù),它可以使用正則批量替換字符串,非常適合處理 URL。

語法:

REGEXP_REPLACE(str, pattern, repl)

str:需要處理的字符串

pattern:正則表達式

repl:替換的內(nèi)容

2. 示例:批量去掉域名前綴

UPDATE article SET images = REGEXP_REPLACE(images, 'https?://[^,]*(/uploads/[^,]+)', '\\1') WHERE images REGEXP 'https?://[^,]*/uploads/';

解釋:

'https?://[^,]*(/uploads/[^,]+)'
  • https?://:匹配 http:// 或 https://
  • [^,]*:匹配 URL 域名部分,直到逗號或 /uploads/
  • (/uploads/[^,]+):捕獲 /uploads/... 路徑
'\\1'
  • 替換為捕獲的 /uploads/... 部分,去掉域名
WHERE images REGEXP 'https?://[^,]*/uploads/'
  • 只處理包含完整域名的記錄,避免影響已經(jīng)是 /uploads/... 的記錄

3. 支持單張或多張圖片

這條 SQL 適合以下幾種情況:

單張圖片:

https://cdn.test.com/uploads/20251103/xxx.jpg → /uploads/20251103/xxx.jpg

多張圖片(逗號分隔):

https://cdn.test.com/uploads/20251104/aaa.png,/uploads/20251104/bbb.png → /uploads/20251104/aaa.png,/uploads/20251104/bbb.png

已經(jīng)是相對路徑的記錄不會改變。

4. 優(yōu)點

  1. 一次性批量處理:不需要循環(huán)或復(fù)雜腳本
  2. 兼容單張和多張圖片
  3. 避免前端拼接重復(fù)域名
  4. 安全可控:只處理包含完整域名的記錄

5. 操作步驟建議

操作之前最好備份一下找個表的數(shù)據(jù)

6. 總結(jié)

利用 MySQL 8.x 的 REGEXP_REPLACE,可以輕松實現(xiàn):

  • 批量去掉圖片 URL 前綴
  • 支持單張、多張圖片
  • 保證數(shù)據(jù)庫中統(tǒng)一存相對路徑

以上就是MySQL批量處理圖片URL統(tǒng)一去掉域名前綴的方法的詳細(xì)內(nèi)容,更多關(guān)于MySQL批量處理圖片URL的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 通過MySQL優(yōu)化Discuz!的熱帖翻頁的技巧

    通過MySQL優(yōu)化Discuz!的熱帖翻頁的技巧

    這篇文章主要介紹了通過MySQL優(yōu)化Discuz!的熱帖翻頁的技巧,包括更新索引來降低服務(wù)器負(fù)載等方面,需要的朋友可以參考下
    2015-05-05
  • mysql如何利用Navicat導(dǎo)出和導(dǎo)入數(shù)據(jù)庫的方法

    mysql如何利用Navicat導(dǎo)出和導(dǎo)入數(shù)據(jù)庫的方法

    這篇文章主要介紹了mysql如何利用Navicat導(dǎo)出和導(dǎo)入數(shù)據(jù)庫的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Innodb中mysql快速刪除2T的大表方法示例

    Innodb中mysql快速刪除2T的大表方法示例

    這篇文章主要給大家介紹了關(guān)于Innodb中mysql快速刪除2T的大表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • MySQL允許遠(yuǎn)程連接的配置指南

    MySQL允許遠(yuǎn)程連接的配置指南

    MySQL 是一個廣泛使用的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在實際開發(fā)中,我們經(jīng)常需要從本地或外部服務(wù)器連接到 MySQL 數(shù)據(jù)庫,下面我們就來看看如何配置 MySQL 以允許遠(yuǎn)程連接
    2025-06-06
  • mysql8.0無法使用group by的問題及解決

    mysql8.0無法使用group by的問題及解決

    這篇文章主要介紹了mysql8.0無法使用group by的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 關(guān)于mysql 的時間類型選擇

    關(guān)于mysql 的時間類型選擇

    本篇文章是對mysql中的時間類型選擇進行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL的表空間是什么

    MySQL的表空間是什么

    這篇文章主要介紹了MySQL的表空間是什么,幫助大家更好的理解和使用MySQL表的相關(guān)知識,感興趣的朋友可以了解下
    2020-11-11
  • 根據(jù)status信息對MySQL服務(wù)器進行優(yōu)化

    根據(jù)status信息對MySQL服務(wù)器進行優(yōu)化

    網(wǎng)上有很多的文章教怎么配置MySQL服務(wù)器,但考慮到服務(wù)器硬件配置的不同,具體應(yīng)用的差別,那些文章的做法只能作為初步設(shè)置參考,我們需要根據(jù)自己的情況進行配置優(yōu)化,好的做法是MySQL服務(wù)器穩(wěn)定運行了一段時間后運行,根據(jù)服務(wù)器的”狀態(tài)”進行優(yōu)化。
    2011-09-09
  • MySQL學(xué)習(xí)之事務(wù)詳解

    MySQL學(xué)習(xí)之事務(wù)詳解

    在數(shù)據(jù)庫中?事務(wù)(transaction)?可以把多個SQL給打包到一起,?即將多個SQL語句變成一個整體,?也就是說一個事務(wù)中的所有操作要么全部成功執(zhí)行,?要么完全不執(zhí)行.本文主要來和大家聊聊事務(wù)的使用,需要的可以參考一下
    2022-12-12
  • MySQL中按時間獲取慢日志信息的方法

    MySQL中按時間獲取慢日志信息的方法

    這篇文章主要介紹了MySQL中按時間獲取慢日志信息的方法,使用到了cutlogbytime這個工具,主要操作是設(shè)置時間戳,需要的朋友可以參考下
    2015-05-05

最新評論

宜宾县| 罗山县| 山西省| 榆树市| 梓潼县| 余江县| 金塔县| 忻城县| 永吉县| 石门县| 永济市| 寻乌县| 宁夏| 大洼县| 仁布县| 靖州| 五河县| 扎兰屯市| 沙河市| 巴林左旗| 利津县| 高雄县| 淳安县| 新宁县| 徐闻县| 高阳县| 佛学| 阜平县| 河曲县| 阜新| 桂阳县| 建始县| 利辛县| 上杭县| 昔阳县| 安宁市| 新泰市| 静海县| 乐安县| 长白| 云霄县|