Как переименовать все таблицы в базе данных MySQL


у Меня есть база MySQL с несколькими таблицами, и я переношу в другую базу данных.

у Меня есть Клиент и обязанности получить Cliente_PE

у Меня есть Продукт, и долг остаться Produto_PE

Как я могу реализовать это, но мне задержите переименования каждого из 50 таблиц?

Author: Comunidade, 2015-03-26

3 answers

Самый простой способ, так что 50-это число, не так много линий:

RENAME TABLE
    Cliente TO Cliente_PE,
    Produto TO Produto_PE,
    TabelaX TO TabelaX_PE

Узнайте руководстве SQL.

Вы также можете сделать это с помощью phpmyadmin, но тогда вы будете добавлять префикс к таблицам (PE_Cliente, etc):

  1. Выберите базу данных, которая содержит таблицы в боковом меню.
  2. Установите checkbox Check All.
  3. select рядом, выберите Add prefix to table.
  4. В поле "Add prefix" введите prefix_, если PE_.

Adicionar prefixo à uma tabela com o phpmyadmin

 13
Author: Eduardo Silva, 2015-03-26 04:20:36

Чтобы переименовать таблицу, вы можете использовать команду

RENAME TABLE nomeOriginal TO nomeNovo

Как много таблиц, вы можете использовать этот запрос для получения всех RENAMEs автоматически:

SELECT
   CONCAT(
      'RENAME TABLE `', table_schema, '`.`', table_name,
      '` TO `', table_schema, '`.`', table_name, '_PE`;' )
FROM
   INFORMATION_SCHEMA.TABLES WHERE table_schema="NomeDoDb";

Выходе например:

RENAME TABLE `NomeDoDb`.`eventos` TO `NomeDoDb`.`eventos_PE`;
RENAME TABLE `NomeDoDb`.`fotos` TO `NomeDoDb`.`fotos_PE`;
RENAME TABLE `NomeDoDb`.`usuarios` TO `NomeDoDb`.`usuarios_PE`;

Там просто получить результат и запустить как новый, query, будь то с помощью copy & paste, перенаправление на скрипт SQL, etc.

Преимущества:

  • Она ставит Суффикс в таблицы, но может быть легко адаптирована для префиксы или смешанные;
  • Избегает вручную ввести все имена таблиц;
  • Легко удалить группу таблиц фильтрации в WHERE или вручную;
  • Легко работать на нескольких DB с помощью предложении WHERE;
  • Не зависит от конкретного инструмента, может использоваться в командной строке, или же на визуальные средства, такие как MySQL workbench.
  • , Если вам нужно делать это периодически, можно создать PROCEDURE, и использовать, когда требуется, например: AdicionarSufixo( 'MeuDb', '_PE' );
 19
Author: Bacco, 2015-03-27 11:26:13

В phpmyadmin (или adminer), перейдите в раздел "SQL", а затем введите команду:

RENAME TABLE nome_atual TO novo_nome

Нажмите кнопку выполнить. После этого оцените, F4, чтобы обновить список таблиц базы!

 0
Author: Vitalves, 2018-07-11 22:38:42