批量替换 MySQL 数据库指定字段中域名

后知后觉 现有 11 评论

起因

因域名更替,导致原有的图片链接必须进行修改,考虑到手工操作工作量大,且容易出现问题,因此使用 SQL 进行处理。

原表字段 str_value 里的 URL 值进行替换。

序号原 URL目标 URL
01https://cdn.wave.red/pic/2017/09/220170901.jpghttps://img2.vvave.net/cover/2017/09/220170901.jpg
02https://cdn.wave.red/pic/2017/09/220170902.jpghttps://img2.vvave.net/cover/2017/09/220170902.jpg
03https://cdn.wave.red/pic/2017/09/220170903.jpghttps://img2.vvave.net/cover/2017/09/220170903.jpg
04https://cdn.wave.red/pic/2017/09/220170904.jpghttps://img2.vvave.net/cover/2017/09/220170904.jpg

处理

SQL 格式:

UPDATE `库名`.`表名` SET `字段` = REPLACE(`字段`,'原值','目标值') WHERE '条件(如果有)';

实际语句

UPDATE `typecho`.`typecho_fields` SET `str_value` = REPLACE(`str_value`,'https://cdn.wave.red/pic/','https://img2.vvave.net/cover/');

附录

参考链接

如果遇到问题或者对文章内容存疑,请在下方留言,博主看到后将及时回复,谢谢!
回复
回答20+49=
  1. 叶忠文博客

    你文章的缩略图选的很不错

    Firefox 71.0 Windows 10 回复
    1. @叶忠文博客

      必应插图啦,用程序自动裁剪一下就可以了。

      Safari 605.1.15 macOS Catalina 回复
  2. 次元

    试试留言一下

    Chrome 69.0.3497.100 Windows 10 回复
  3. 长风

    感觉在数据库工具中操作更简单一些啊。

    QQ浏览器 9.9 Android Pie 回复
    1. @长风

      Navicat 之类的也都是执行 SQL 语句,只不过都是写好逻辑的,但是自己会 SQL 不是更好吗?

      Safari 605.1.15 macOS Catalina 回复
  4. 流马

    😏这个文章在好多地方都看过

    Opera Touch 2.0 iOS 13 回复
  5. Mark

    回访下,另外问一下你不会就是通过找这个命令来到我博客的吧~

    Chrome 78.0.3904.97 Windows 10 回复
    1. @Mark

      哈哈哈,并不是。貌似是通过某人的友链访问到贵站的。

      Chrome 78.0.3904.97 Windows 10 回复
      1. Mark
        @柒

        好吧,最近好像掉收录了,改结构改的,你博客很漂亮,加油

        Chrome 78.0.3904.97 Windows 10 回复
  6. 凉风有信

    最好是不存放域名

    Chrome 77.0.3865.75 Windows 10 回复
    1. @凉风有信

      只是存储的封面图的链接罢了

      Chrome 78.0.3904.97 macOS Catalina 回复