2

我有一个类似于以下表的 mySQL 数据库:

users
tests
billing

我正在寻找一个循环遍历数据库中的表并附application_加到名称的 SQL 查询,结果是:

application_users
application_tests
application_billing
4

2 回答 2

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 执行它?

于 2013-08-16T10:58:47.830 回答
0
RENAME TABLE  
   `database`.`table_1234` TO `database`.`new_table_1234`,  
   `database`.`table_3456` TO `database`.`new_table_3456`;  
于 2013-08-16T09:07:51.943 回答