Как переименовать все таблицы в базе данных MySQL
у Меня есть база MySQL с несколькими таблицами, и я переношу в другую базу данных.
у Меня есть Клиент и обязанности получить Cliente_PE
у Меня есть Продукт, и долг остаться Produto_PE
Как я могу реализовать это, но мне задержите переименования каждого из 50 таблиц?
3 answers
Самый простой способ, так что 50-это число, не так много линий:
RENAME TABLE
Cliente TO Cliente_PE,
Produto TO Produto_PE,
TabelaX TO TabelaX_PE
Узнайте руководстве SQL.
Вы также можете сделать это с помощью phpmyadmin
, но тогда вы будете добавлять префикс к таблицам (PE_Cliente, etc):
- Выберите базу данных, которая содержит таблицы в боковом меню.
- Установите checkbox
Check All
. - select рядом, выберите
Add prefix to table
. - В поле "Add prefix" введите
prefix_
, еслиPE_
.
Чтобы переименовать таблицу, вы можете использовать команду
RENAME TABLE nomeOriginal TO nomeNovo
Как много таблиц, вы можете использовать этот запрос для получения всех RENAME
s автоматически:
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' );
В phpmyadmin (или adminer), перейдите в раздел "SQL", а затем введите команду:
RENAME TABLE nome_atual TO novo_nome
Нажмите кнопку выполнить. После этого оцените, F4, чтобы обновить список таблиц базы!