首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式重命名数据库中的所有表,并在所有表的名称前添加/追加一些文本?

问如何以编程方式重命名数据库中的所有表,并在所有表的名称前添加/追加一些文本?
EN

Stack Overflow用户
提问于 2013-08-16 17:03:11
回答 2查看 592关注 0票数 2

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

代码语言:javascript
复制
users
tests
billing

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

代码语言:javascript
复制
application_users
application_tests
application_billing
EN

回答 2

Stack Overflow用户

发布于 2013-08-16 18:58:48

根据您使用的操作系统,您是否考虑过编写一个shell脚本来通过sed管道"show tables“命令的输出,以生成包含适当alter table命令的脚本文件?

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2013-08-16 17:07:52

代码语言:javascript
复制
RENAME TABLE  
   `database`.`table_1234` TO `database`.`new_table_1234`,  
   `database`.`table_3456` TO `database`.`new_table_3456`;  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18269617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档