萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

SQL 批量替換欄位內容:REPLACE 函數實戰

通用語法

UPDATE table_name
SET column_name = REPLACE(CAST(column_name AS VARCHAR(MAX)), 'old_str', 'new_str');

實戰範例

將 t_newsinfo 表 content 欄位中的舊域名替換為新域名:

UPDATE t_newsinfo
SET [content] = REPLACE(CAST([content] AS VARCHAR(MAX)), 'https://admin.thinkall.net.cn/', 'https://admin.xkpx.com/');

關鍵點

  • CAST(... AS VARCHAR(MAX)) 確保大型文本欄位(TEXT/NTEXT/MAX 型別)可被 REPLACE 處理。
  • REPLACE 區分大小寫(依資料庫定序),需不區分大小寫時可用 LOWER/UPPER 配合或全文檢索。
  • 大量資料更新建議分批次(如每批 5000 行)避免長鎖表、日誌暴漲。

MySQL 對應寫法

UPDATE t_newsinfo
SET content = REPLACE(content, 'https://admin.thinkall.net.cn/', 'https://admin.xkpx.com/');

MySQL REPLACE 直接支援 TEXT/BLOB,無需 CAST。

copyright © 萬盛學電腦網 all rights reserved