MySQL数据库批量更改内容的指令详解

通用SQL指令,可用于批量修改tmysql数据库内容,包括但不限于文本、域名、链接等内容,具体如下所示:

UPDATE `typecho_fields` SET `str_value` = REPLACE(`str_value`,'原来的文本内容','新的文本内容')

可以看到,typecho_fields是mysql里的其中一个数据表,而str_value是数据表typecho_fields下的其中一个列的名称。
值得注意的是,原来的文本内容新的文本内容这两处地方,若是填写的普通文本,倒还有纠错的机会,假若填写的是链接,则需要谨慎对待。
能够带上https://或http://的,千万不要为图一时方便,就故意省略http协议头的部分,而只填写域名部分,因为数据库中,同一域名的链接,很可能存在https与http这两种不同的协议头。
例如,假如你填写的是这样:

UPDATE `typecho_fields` SET `str_value` = REPLACE(`str_value`,'archive.huar.net','https://j9.gs')

而原来的数据库里,被替换的链接存在https和http,此刻数据库的内容便会变成

    https://https://j9.gs,以及http://https://j9.gs

这样的情况
倘若如此,那么整个网站的内容也会因数据库的改变而变得乱七八糟,对自己的损失是不可估量的,尤其是做档案类网站的站长,更要注意这点。
使用cdn也是如此

UPDATE `typecho_fields` SET `str_value` = REPLACE(`str_value`,'https://archive.huar.net/usr/uploads','https://download.j9.gs/d/cd1/CDN/archive/uploads')

可以看到,此处我是将uploads文件夹的路径位置进行了更改,而这样也代表着uploads文件夹下的其他文件夹及文件的路径,仍然保持不变,改变的仅仅是该文件夹的父级文件夹的路径。

By 祭酒 On