Как переименовать базу данных sql
Перейти к содержимому

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

  • автор:

RENAME

Переименовывает базы данных, таблицы или словари. Несколько сущностей могут быть переименованы в одном запросе. Обратите внимание, что запрос RENAME с несколькими сущностями это неатомарная операция. Чтобы обменять имена атомарно, используйте выражение EXCHANGE.

Примечание

Запрос RENAME поддерживается только движком баз данных Atomic.

Синтаксис

RENAME DATABASE|TABLE|DICTIONARY name TO new_name [,...] [ON CLUSTER cluster] 

RENAME DATABASE​

Переименовывает базы данных.

Синтаксис

RENAME DATABASE atomic_database1 TO atomic_database2 [,...] [ON CLUSTER cluster] 

RENAME TABLE​

Переименовывает одну или несколько таблиц.

Переименовывание таблиц является лёгкой операцией. Если вы указали после TO другую базу данных, то таблица будет перенесена в эту базу данных. При этом директории с базами данных должны быть расположены в одной файловой системе, иначе возвращается ошибка. Если переименовывается несколько таблиц в одном запросе, то такая операция неатомарная. Она может выполнится частично, и запросы в других сессиях могут получить ошибку Table . doesn’t exist. .

Синтаксис

RENAME TABLE [db1.]name1 TO [db2.]name2 [,...] [ON CLUSTER cluster] 

Пример

RENAME TABLE table_A TO table_A_bak, table_B TO table_B_bak; 

RENAME DICTIONARY​

Переименовывает один или несколько словарей. Этот запрос можно использовать для перемещения словарей между базами данных.

Синтаксис

RENAME DICTIONARY [db0.]dict_A TO [db1.]dict_B [,...] [ON CLUSTER cluster] 

Смотрите также

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

Добрый день!
Подскажите как переименовать базу данных и сменить имя пользователя в phpMyAdmin . Было 2 базы данных «сайт» и «сайт 2». Первая стала не нужна и я ее удалил. Как мне теперь переименовать «сайт 2» в «сайт»? Не могу разобраться так как phpMyAdmin у меня не русифицирован.
Заранее спасибо!

2 Ответ от Hanut 2010-05-12 17:05:35

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

bummer
Переименовать базу данных с помощью phpMyAdmin очень просто:
Выберите в левом фрейме базу данных и перейдите на страницу «Operations». В разделе «Rename database to» и осуществляется переименование.

Переименование пользователя:
С главной страницы phpMyAdmin перейдите на вкладку «Privileges», выберите пользователя и в блоке «Change Login Information / Copy User» введите новые данные (имя, хост, пароль). Ниже выберите радиокнопку «delete the old one from the user tables.», что позволит создать нового пользователя и одновременно удалит старого, привилегии старого пользователя будут сохранены.

Осторожно! Не меняйте имя для root.

3 Ответ от bummer 2010-05-12 19:32:01

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

Все сделал как было написано, но что то не так оказалось. Обновил сайт а там: Database Error: Unable to connect to the database:Could not connect to MySQL

4 Ответ от Hanut 2010-05-12 23:56:22

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

bummer
После того, как вы поменяли название БД и имя пользователя, их надо поменять и в конфигурации скрипта.

5 Ответ от bummer 2010-05-13 11:59:27

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

Может быть глупый вопрос, но: я так понимаю что это файл configuration.php в корневой папке сайта? Там надо сменить название и имя пользователя?

6 Ответ от Hanut 2010-05-13 13:43:52

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

bummer
Вероятно это он: configuration.php
Попробуйте сменить в нем, если видите старые данные подключения.

7 Ответ от bummer 2010-05-13 14:20:41

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

В этом файле есть старые названия, но если открываю его блокнотом, то эти названия не активные то есть нельзя их ни выделить ни удалить. А если открываю «Dreamweaver», то сменить можно, но при сохранении требует переименовать файл, так как пишет, что этот файл предназначен только для чтения.

8 Ответ от bummer 2010-05-13 15:06:12

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

С этим разобрался. Переименовал старые названия в файле configuration.php
Но все так же выдает Database Error: Unable to connect to the database:Could not connect to MySQL

9 Ответ от bummer 2010-05-13 15:28:32

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

Все, разобрался! После переименования остался лишний пробел, убрал его и все заработало. Большое спасибо за помощь!

Сообщения 9

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Форум работает на PunBB , при поддержке Informer Technologies, Inc

Currently installed 7 official extensions . Copyright © 2003–2009 PunBB.

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

Огромнейшее спасибо. Мучался не 1 час, адекватной информации нигде не было. Вот код, вдруг кому ешё понадобиться. mysql_query(«CREATE DATABASE NEW_DB «); $res = mysql_query(«SHOW TABLES FROM OLD_DB»); while ($result = mysql_fetch_assoc($res)) < mysql_query("RENAME TABLE OLD_DB . TO NEW_DB . ;"); > mysql_query(«DROP DATABASE OLD_DB «);

18 сен 2014 в 18:52

@Ford, Если вам дан исчерпывающий ответ, отметьте его как верный (нажмите на галку рядом с выбранным ответом).

18 сен 2014 в 19:30

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

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

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

Отслеживать
11 1 1 золотой знак 2 2 серебряных знака 8 8 бронзовых знаков
ответ дан 18 сен 2014 в 15:23
434 1 1 золотой знак 4 4 серебряных знака 13 13 бронзовых знаков

да, пишут, что RENAME DATABASE был добавлен в 5.1.7 , сочтён небезопасным, и удалён уже в версии 5.1.23 .

Переименование базы данных

В этой статье описывается переименование пользовательской базы данных в SQL Server, Базе данных SQL Azure или Управляемом экземпляре SQL Azure с помощью SQL Server Management Studio (SSMS) или Transact-SQL (T-SQL). Имя базы данных может содержать все символы, соответствующие правилам для идентификаторов.

Чтобы переименовать базу данных в Azure Synapse Analytics или Parallel Data Warehouse, используйте инструкцию RENAME (Transact-SQL).

ограничения

  • Системные базы данных нельзя переименовать.
  • Имя базы данных нельзя изменить, пока другие пользователи обращаются к базе данных.
    • Используйте Монитор активности SQL Server Management Studio, чтобы найти другие подключения к базе данных, и закройте их. Дополнительные сведения см. в разделе Открытие Монитора активности в SQL Server Management Studio (SSMS).
    • В SQL Server можно установить для базы данных однопользовательский режим, чтобы закрыть все открытые соединения. Дополнительные сведения см. в разделе Установка однопользовательского режима базы данных.
    • В базе данных SQL Azure необходимо убедиться, что отсутствуют открытые подключения других пользователей к базе данных, которую требуется переименовать.

    Разрешения

    Необходимо разрешение ALTER в базе данных.

    Использование среды SQL Server Management Studio

    Чтобы переименовать базу данных SQL Server или SQL Azure с помощью SQL Server Management Studio, выполните следующие действия.

    1. В среде SQL Server Management Studio выберите элемент Обозреватель объектов. Чтобы открыть обозреватель объектов, нажмите клавишу F8. Либо в главном меню щелкните Вид и выберите пункт Обозреватель объектов:
    2. В обозревателе объектов подключитесь к экземпляру SQL Server и разверните его.
    3. Убедитесь, что отсутствуют открытые подключения к базе данных. Если вы используете SQL Server, вы можете задать для базы данных однопользовательский режим , чтобы закрыть все открытые подключения и запретить другим пользователям подключаться во время изменения имени базы данных.
    4. В обозревателе объектов разверните узел Базы данных, щелкните правой кнопкой мыши базу данных, которую необходимо переименовать, а затем выберите Переименовать.
    5. Введите новое имя базы данных и нажмите кнопку ОК.
    6. Если эта база данных была базой данных по умолчанию, см. раздел Сброс базы данных по умолчанию после переименования.
    7. Обновите список баз данных в обозревателе объектов.

    Использование Transact-SQL

    Переименование базы данных SQL Server путем перевода ее в однопользовательский режим

    Выполните следующие действия, чтобы переименовать базу данных SQL Server с помощью T-SQL в SQL Server Management Studio, включая действия по переводу базы данных в однопользовательский режим и возврат ее в многопользовательский режим после переименования.

    1. Подключитесь к базе данных master для своего экземпляра.
    2. Откройте окно запроса.
    3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере имя базы данных MyTestDatabase изменяется на MyTestDatabaseCopy .

    Чтобы быстро получить монопольный доступ, в примере кода используется параметр завершения WITH ROLLBACK IMMEDIATE . Произойдет откат всех незавершенных транзакций, а любые другие соединения с базой данных MyTestDatabase будут немедленно разорваны.

    USE master; GO ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy; GO ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER; GO 
    1. Кроме того, если эта база данных была базой данных по умолчанию, см. раздел Сброс базы данных по умолчанию после переименования.

    Переименование базы данных SQL Azure

    Выполните следующие действия, чтобы переименовать базу данных SQL Azure с помощью T-SQL в SQL Server Management Studio.

    1. Подключитесь к базе данных master для своего экземпляра.
    2. Откройте окно запроса.
    3. Убедитесь, что больше никто не использует эту базу данных.
    4. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере имя базы данных MyTestDatabase изменяется на MyTestDatabaseCopy .

    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy; 

    Резервное копирование после переименования базы данных

    После переименования базы данных в SQL Server выполните резервное копирование базы данных master . В Базе данных SQL Azure это не требуется при автоматическом резервном копировании.

    Сброс базы данных по умолчанию после переименования

    Если вы переименовываете базу данных, которая была задана в качестве базы данных по умолчанию для имени входа SQL Server, может возникнуть ошибка 4064, Cannot open user default database . Используйте следующую команду, чтобы установить переименованную базу данных в качестве базы данных по умолчанию:

    USE [master] GO ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name]; GO 

    Далее

    • ALTER DATABASE (Transact-SQL)
    • Идентификаторы баз данных

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *