MySQl批量重命名,更改,更新

时间:2017-01-24 00:26:22

标签: mysql

我有一个包含200多个表的MySQl数据库。我想对此数据库中的所有表执行以下操作。

  1. 通过向名称
  2. 添加常量来更新所有表名
  3. 为每个表添加列(更改表)
  4. 更新每个表以设置新添加的列
  5. 有人可以建议一种有效的方法吗

    由于 比姆

1 个答案:

答案 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/

添加一列:http://www.mysqltutorial.org/mysql-add-column/