You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在phpMyAdmin中批量修改数据库里的文件扩展名

批量更新数据库中PNG文件名到WebP的方法

方法1:用SQL字符串替换直接批量更新

这是最高效的方式,直接通过REPLACE函数一次性替换所有符合条件的文件名:

先执行查询确认替换结果(避免误操作):

SELECT `image_name`, REPLACE(`image_name`, '.png', '.webp') AS new_image_name
FROM `gallery`
WHERE `image_name` LIKE '%.png';

确认所有替换逻辑正确后,执行更新语句:

UPDATE `gallery`
SET `image_name` = REPLACE(`image_name`, '.png', '.webp')
WHERE `image_name` LIKE '%.png';

WHERE条件会确保只处理PNG格式的文件,不会影响其他格式的记录。

方法2:生成批量UPDATE语句(适合需要逐行确认的场景)

如果需要先预览所有待执行的更新语句,再手动执行,可以用以下SQL生成批量更新脚本:

SELECT CONCAT(
    'UPDATE `gallery` SET `image_name` = ''',
    REPLACE(`image_name`, '.png', '.webp'),
    ''' WHERE `id` = ',
    `id`,
    ';'
) AS update_query
FROM `gallery`
WHERE `image_name` LIKE '%.png';

执行后会得到5000条独立的UPDATE语句,复制所有结果(去掉表头),粘贴到phpMyAdmin的SQL面板中执行即可。

关键注意事项

  • 操作前必须备份数据:在phpMyAdmin中选中gallery表,点击「导出」完成备份,防止操作失误丢失数据。
  • 若有部分PNG文件无需转换,可修改WHERE条件排除,比如:WHERE image_name LIKE '%.png' AND image_name NOT LIKE '保留文件_%.png'。
  • 处理超大批量数据时,可分批次执行避免超时,比如每次更新1000条:
UPDATE `gallery`
SET `image_name` = REPLACE(`image_name`, '.png', '.webp')
WHERE `image_name` LIKE '%.png'
LIMIT 1000;

重复执行直到所有PNG记录更新完成。

内容的提问来源于stack exchange,提问作者Joe Kerr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 09:00:58