我有一个类似于:
的表的mySQL数据库users
tests
billing
我正在寻找一个SQL查询,它循环遍历数据库中的表并将application_
附加到名称,从而产生:
application_users
application_tests
application_billing
答案 0 :(得分:1)
根据您使用的操作系统,您是否考虑编写一个shell脚本,通过sed管道“show tables”命令的输出,以生成带有相应alter table命令的脚本文件?
amrith@amrith-vbox:~/so$ more showtables.sql
show tables
amrith@amrith-vbox:~/so$ mysql -uroot -ppassword -N test < showtables.sql | awk '{ print "alter table " $1 " rename to abc_"$1 }'
alter table conversations rename to abc_conversations
alter table foo rename to abc_foo
alter table messages rename to abc_messages
alter table t1 rename to abc_t1
amrith@amrith-vbox:~/so$
您可以将该输出发送到某个.sql文件,然后使用mysql执行它吗?
答案 1 :(得分:0)
RENAME TABLE
`database`.`table_1234` TO `database`.`new_table_1234`,
`database`.`table_3456` TO `database`.`new_table_3456`;