我有一个类似于以下表的 mySQL 数据库:
users
tests
billing
我正在寻找一个循环遍历数据库中的表并附application_
加到名称的 SQL 查询,结果是:
application_users
application_tests
application_billing
根据您使用的操作系统,您是否考虑过编写一个 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 执行它?
RENAME TABLE
`database`.`table_1234` TO `database`.`new_table_1234`,
`database`.`table_3456` TO `database`.`new_table_3456`;