案例介绍:
MySQL 的数据库名是 jimsir,里面有一些表的前缀是 blog_,如 blog_posts,想替换为 newblog_posts,在这个案例里,要找出所有前缀 blog_ 的表,批量把这个前缀改为 newblog_
解决方案如下:
登陆 phpMyAdmin 的 jimsir 数据库里,执行以下 SQL:
Select CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', replace(table_name,'blog_','newblog_'),';') from information_schema.tables where TABLE_SCHEMA = 'jimsir' and table_name LIKE 'blog_%';
这段代码会列出所有包含 blog_ 前缀的表,并且自动完成替换命令,把以上 SQL 的执行结果导出为 csv 格式,导出 csv 时设置内容换行为空白值。
打开 csv 文件,会得到如下的命令:
ALTER TABLE blog_admins RENAME TO newblog_admins;
ALTER TABLE blog_posts RENAME TO newblog_posts;
把这些代码复制进执行 SQL,完成替换。