我有一个包含200多个表的MySQl数据库。我想对此数据库中的所有表执行以下操作。
有人可以建议一种有效的方法吗
由于 比姆
答案 0 :(得分:0)
您需要编写几个SQL语句来生成重命名/添加列SQL语句。
然后您可以运行SQL语句。
您还没有提供表格名称或模式等,因此我可以提供指导,但不能提供准确的结果。
假设您的"在名称中添加常量"是前缀" const _"对它来说,你可以这样做:
SELECT 'RENAME TABLE ''' || table_name || ''' TO ''const_' || table_name || ''' FROM information_schema.tables WHERE table_catalog = 'YourCatalog' and table_schema = 'YourSchema';
这将为您提供重命名表命令作为输出,您可以将其拾取并放入文本编辑器中进行整理。
您需要针对INFORMATION_SCHEMA.tables执行一些查询,以找出正确的过滤器,以获得表格列表的正确标准。
您可以对添加列语句执行类似操作。
一些有用的参考资料:
信息架构:https://dev.mysql.com/doc/refman/5.7/en/tables-table.html
重命名表:https://blog.marceloaltmann.com/en-how-to-rename-table-in-mysql-pt-como-renomear-tabelas-no-mysql/