Как переименовать базу данных?

Рейтинг: 4Ответов: 2Опубликовано: 18.09.2014

Доброго времени суток.

Как переименовать существующую БД с помощью sql запроса из php?

Ответы

▲ 4Принят
  1. Сделайте бэкап всей исходной БД.

  2. RENAME TABLE позволяет переименовывать таблицы из одной БД в другую, при условии, что обе БД находятся на общей файловой системе.

    Так что надо создать новую БД, переименовать таблицы из старой в новую:

    CREATE DATABASE db_new;
    
    RENAME TABLE 
      db_old.table1 TO db_new.table1,
      db_old.table2 TO db_new.table2,
      ...
      db_old.tableN TO db_new.tableN
    ;
    
  3. Проверьте, перенеслись ли таблицы, осталось ли что-то нужное в старой БД.

  4. Удалите старую БД:

    DROP TABLE db_old;
    
▲ 4

Насколько я помню, команду для переименования базы данных убрали из mysql.
Чтобы переименовать, можно воспользоваться phpmyadmin, по-моему, там была такая возможность.
Если у вас база с типом MyISAM, то можно просто переименовать каталог базы данных.
Но мне кажется, что проще скопировать старую базу в новую с нужным названием и затем удалить старую.

P.S. Ну и, конечно, ОБЯЗАТЕЛЬНО не забывайте сделать бекап перед всеми манипуляциями.

UPD
забыл сказать, если вы будете копировать базу с новым нужным именем, то не забудьте проверить права на новую базу данных.