所以基本上我在MySQL中有一个joomla数据库,它有一堆表有前缀'jmla_'的表。我想通过用'jos_'前缀替换'jmla_'前缀来重命名所有这些表。有关如何使用简单的SQL脚本或SQL查询执行此操作的任何想法?
答案 0 :(得分:10)
SELECT concat ('rename table ',table_name,' to ',table_name,'_old;')
FROM information_schema.tables
WHERE table_name like 'webform%'
and table_schema='weiss_db_new'
会奏效。
答案 1 :(得分:8)
运行此声明:
SELECT 'rename table '||table_name||' to '||'jos'||substr(table_name,5)||';'
FROM information_schema.tables
WHERE table_name like 'jmla%'
这将创建一个重命名所有表的脚本。只需复制&将输出粘贴到SQL客户端。
(如果你没有在ANSI模式下运行它,你需要将||
更改为MySQL的非标准连接运算符)
答案 2 :(得分:3)
RENAME TABLE jmla_whatever to jos_whatever;
您必须编写一个脚本来覆盖所有表格 - 您可以使用show tables
的输出填充脚本。有关详细信息,请参阅http://dev.mysql.com/doc/refman/5.0/en/rename-table.html。
答案 3 :(得分:2)
请记住在通过phpmyadmin导入之前删除旧数据库。这可以完成,在导出期间检查合适的选项。
答案 4 :(得分:0)
您是否考虑过为Joomla使用Akeeba管理工具组件!然后使用数据库前缀编辑器更改表前缀,非常有效。 Akeeba管理工具可用于保护您的Joomla!安装
可以获得Akeeba here