通过插入下划线重命名多个MySQL表

4
如何在关键字后插入下划线重命名一组MySQL表。下面的示例展示了我的意思:
当前名称:
关键字缓存 关键字字段 关键字菜单 等等
期望名称:
keyword_cache keyword_field keyword_menu 等等
我使用phpMyAdmin访问数据库。逐个重命名太费时间,因此我正在寻找一些自动化的方法。

3个回答

6
您可以使用phpMyAdmin完成此操作。
进入包含这些表的数据库的“结构”页面。 选中您想要重命名的每个表前面的复选框。 从“选择”下拉菜单中选择“替换表前缀”。 在“From”字段中输入“keyword”,在“To”字段中输入“keyword_”,然后点击提交。

0

您可以使用诸如以下语法(如果复制/粘贴不够方便,可能会自动生成SQL脚本):

RENAME TABLE keywordcache TO keyword_cache,
             keywordfield TO keyword_field,
             keywordmenu TO keyword_menu;

请参阅MySQL手册


我本以为可能有一些正则表达式类型的解决方案,但现在我看到 SQL 不支持它 :/ 与此同时,我将尝试解决方法: - stefek
1
解决方法: -> 从phpMyAdmin中将表格导出为文本格式 -> 粘贴到Notepad++ -> 使用支持正则表达式的替换选项仅提取表格名称 -> 在关键词后插入“_” -> 使用这些修改后的名称准备SQL脚本,使用您提到的语法 -> 在phpMyAdmin中执行此脚本 - stefek
关于stefek的解决方案,Madhura Jayaratne在上面发布了一个更加优雅的解决方案,而不是导出表格并重新上传,只需使用phpMyAdmin重命名表格...比导出和重新导入少了麻烦或问题的风险。当然它也可以工作,但有更好的方法 :) - Isaac Bennetch
没错,phpmyadmin的“替换表前缀”功能似乎是正确的工具。Madhura的回答加一分 :) - Maxime Pacary

0

您可以使用PHP脚本获取表名,然后以任何方式重命名它们。 这些答案提供有关选择表名的详细信息:

SQL RENAME TABLE 命令


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接