Ответ 1
Я не думаю, что это возможно.
Вы можете использовать mysqldump
, чтобы сбрасывать данные, а затем создавать схему с новым именем и затем выгружать данные в эту новую базу данных.
Как изменить имя базы данных моей базы данных?
Я попытался использовать команду rename database, но в документах об этом сказано, что это опасно использовать. Тогда что мне нужно сделать, чтобы переименовать имя моей базы данных?
Например, если я хочу переименовать мою базу данных на это.
database1 -> database2?
Я не думаю, что это возможно.
Вы можете использовать mysqldump
, чтобы сбрасывать данные, а затем создавать схему с новым именем и затем выгружать данные в эту новую базу данных.
Выполните следующие шаги:
shell> mysqldump -hlocalhost -uroot -p database1 > dump.sql
mysql> CREATE DATABASE database2;
shell> mysql -hlocalhost -uroot -p database2 < dump.sql
Если вы хотите сбросить базу данных1, в противном случае оставьте ее.
mysql> DROP DATABASE database1;
Примечание: shell > обозначить командную строку и mysql > обозначить подсказку mysql.
К сожалению, MySQL явно не поддерживает это (за исключением сброса и перезагрузки базы данных снова).
Из http://dev.mysql.com/doc/refman/5.1/en/rename-database.html:
13.1.32. Синтаксис RENAME DATABASE
RENAME {БАЗЫ ДАННЫХ | SCHEMA} db_name TO new_db_name;
Этот оператор был добавлен в MySQL 5.1.7, но оказался опасным и был удален в MySQL 5.1.23.... Использование этого оператора может привести к потере содержимого базы данных, поэтому он был удален. Не используйте RENAME DATABASE в более ранних версиях, в которых он присутствует.
Вы можете изменить имя базы данных с помощью интерфейса MySQL.
Перейдите к http://www.hostname.com/phpmyadmin
Перейдите в базу данных, которую вы хотите переименовать. Затем перейдите на вкладку операции. Там вы найдете поле ввода для переименования базы данных.
"Пока две базы данных находятся в одной файловой системе, вы можете использовать RENAME TABLE для перемещения таблицы из одной базы данных в другую"
-- ensure the char set and collate match the existing database.
SHOW VARIABLES LIKE 'character_set_database';
SHOW VARIABLES LIKE 'collation_database';
CREATE DATABASE `database2` DEFAULT CHARACTER SET = `utf8` DEFAULT COLLATE = `utf8_general_ci`;
RENAME TABLE `database1`.`table1` TO `database2`.`table1`;
RENAME TABLE `database1`.`table2` TO `database2`.`table2`;
RENAME TABLE `database1`.`table3` TO `database2`.`table3`;
Другим способом переименования базы данных или получения изображения базы данных является использование опции обратной инженерии на вкладке базы данных. Он создаст диаграмму ER для базы данных. Переименуйте схему там.
После этого перейдите в меню "Файл" и перейдите на вкладку "Экспорт" и "Настроить" базу данных.
Затем вы можете импортировать базу данных.
После сильного обострения это то, что я нашел, чтобы работать "просто". Во-первых, я использую MYSQL Workbench, и импорт не будет работать так, как должен, поскольку файл дампа импорта всегда будет возвращаться к исходному имени схемы. Я провел несколько часов, пытаясь все безрезультатно, все для орфографической ошибки. Я решил проблему, открыв один из файлов дампа .sql в записной книжке и вручную отредактировав опечатку имени схемы, позаботясь о переименовании всех экземпляров. Имя схемы имеет три в начале, сохранить файл и затем импортировать. это отлично сработало для меня и надеюсь, что это поможет другим, которые ищут простой ответ на изменение имен/имен баз данных. Еще один совет, который я нашел правдой, когда программы не делают, поскольку они должны перейти к "исходному", буквально найти исходный код. Надеюсь, что это поможет кому-то.
Низкая репутация, поэтому они не позволят мне прокомментировать предыдущий/пост ответ (он меняет ранг или позицию), поэтому я добавил его здесь. обратное проектирование будет работать нормально до тех пор, пока в таблице sever нет данных. если данные существуют и вы пытаетесь обновить сервер после изменения имени, он либо вытащит ошибку, либо просто создаст новую базу данных/схему без данных, я знаю, что я пробовал десять раз безрезультатно. Вышеизложенное работает просто и позволяет избежать головных болей, так как можно просмотреть код SQL для других ошибок, если они есть, или изменить имена таблиц или данные создания. .sql файл - это просто скомпилированный SQL-код, поэтому теоретически можно копировать и добавлять его через PHP или консоль script инструмента управления базами данных.
Я согласен с приведенными выше ответами и советами, но есть способ изменить имя базы данных с помощью phpmyadmin
Переименование базы данных Из cPanel нажмите на phpMyAdmin. (Он должен открыться на новой вкладке.) Нажмите на базу данных, которую вы хотите переименовать в левом столбце. Перейдите на вкладку "Операции". Где он говорит "Переименовать базу данных в:", введите новое имя базы данных. Нажмите кнопку "Перейти". Когда он попросит вас создать новую базу данных и удалить старую базу данных, нажмите "ОК", чтобы продолжить. (Это хорошее время, чтобы убедиться, что вы правильно написали новое имя.) После завершения операции нажмите "ОК", когда его спросят, хотите ли вы перезагрузить базу данных.
здесь видео-учебник:
Вы можете использовать команду ниже
изменить базу данных Тестирование изменить имя = LearningSQL;
Старое имя базы данных = тестирование, Новое имя базы данных = LearningSQL
Try:
RENAME database1 TO database2;