Переименование таблиц (компонент Database Engine)
Переименуйте таблицу в базе данных SQL Server, Управляемый экземпляр SQL Azure или Azure SQL.
Чтобы переименовать таблицу в Azure Synapse Analytics или Parallel Data Warehouse, используйте команду RENAME OBJECT.
Каждое переименование таблицы следует тщательно планировать. Если существующие запросы, представления, определяемые пользователем функции, хранимые процедуры или программы ссылаются на таблицу, изменение имени таблицы делает эти объекты недействительными.
ограничения
Переименование таблицы не приводит к автоматическому переименованию ссылок на эту таблицу. Необходимо вручную изменить все объекты, которые ссылаются на переименованную таблицу. Например, если переименована таблица и на эту таблицу имеется ссылка в триггере, то необходимо изменить триггер, указав новое имя таблицы. Используйте представление каталога sys.sql_expression_dependencies , чтобы составить список зависимостей для таблицы перед переименованием.
Разрешения
Требуется разрешение ALTER на таблицу.
Использование SQL Server Management Studio
Переименование таблицы
- В обозреватель объектов щелкните правой кнопкой мыши таблицу, которую нужно переименовать, и выберите в контекстном меню пункт Конструктор.
- В меню Просмотр выберите команду Свойства.
- В поле Имя окна Свойства введите новое имя таблицы.
- Чтобы отменить это действие, нажмите клавишу ESC перед тем, как выйти из этого поля.
- В меню Файл выберите Сохранить имя таблицы.
Переименование таблицы
- В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
- На стандартной панели выберите пункт Создать запрос.
- В следующем примере столбец SalesTerritory в таблице SalesTerr переименовывается в Sales . Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
Синтаксис sp_rename для @objname должен включать схему старого имени таблицы, но @newname не включать имя схемы при задании нового имени таблицы.
Дальнейшие действия
- sp_rename (Transact-SQL)
- sys.sql_expression_dependencies
Как переименовать таблицу в sql запросом
Операция переименования должна осуществляться как атомарная, т.е. при выполнении переименования никакому другому потоку не разрешается доступ к указанным таблицам. Благодаря этому возможно замещение таблицы пустой таблицей:
CREATE TABLE new_table (. ); RENAME TABLE old_table TO backup_table, new_table TO old_table;
Переименование производится слева направо. Таким образом, для обмена именами между двумя таблицами необходимо выполнить следующие действия:
RENAME TABLE old_table TO backup_table, new_table TO old_table, backup_table TO new_table;
Для двух баз данных, находящихся на одном и том же диске, можно также осуществлять обмен именами:
RENAME TABLE current_db.tbl_name TO other_db.tbl_name;
При выполнении команды RENAME не должны иметь место заблокированные таблицы или активные транзакции. Необходимо также иметь привилегии ALTER и DROP для исходной таблицы и привилегии CREATE и INSERT — для новой.
Если MySQL сталкивается с какой-либо ошибкой при переименовании нескольких таблиц, то произойдет обратное переименование для всех переименованных таблиц, чтобы вернуть все в исходное состояние.
Оператор RENAME TABLE был добавлен в MySQL 3.23.23.
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 и MySQL
Откройте базу данных, а затем перейдите в таблицу, которую вы хотите переименовать.
Когда таблица будет открыта, выберите пункт меню «Операции».
Найдите раздел «Переместить таблицу в (таблицу базы данных)». Да, для переименования используется та же функция, что и для перемещения таблицу в другую базу данных.
Введите новое имя таблицы и нажмите кнопку «Вперёд».
Теперь таблица получила новое имя.
Как переименовать таблицу в MySQL
Для подключения к MySQL или MariaDB СУБД на localhost без пароля используйте команду:
mysql -u root
Для подключения к MySQL или MariaDB СУБД на localhost с паролем используйте команду:
mysql -u root -p
Обратите внимание, что после опции -p не нужно указывать пароль — пароль нужно будет ввести в приглашение командной строки.
Если вы подключаетесь к удалённому серверу, то вы также можете использовать опцию -h (или —host=name) с указанием имени или IP адреса хоста.
После подключения к MySQL / MariaDB вы можете использовать следующую команду:
RENAME TABLE `БАЗА ДАННЫХ`.`ТАБЛИЦА` TO `БАЗА ДАННЫХ`.`НОВОЕ ИМЯ`;
Вы также можете выбрать базу данных для использования и не указывать имя базы данных рядом с именем таблицы:
USE `БАЗА ДАННЫХ`; RENAME TABLE `ТАБЛИЦА` TO `НОВОЕ ИМЯ`;
Пример переименования таблицы в MySQL:
RENAME TABLE `test`.`OLD NAME` TO `test`.`NEW NAME`;
Пример переименования таблицы в MySQL с предварительным выбором базы данных:
USE `test`; RENAME TABLE `OLD NAME` TO `NEW NAME`;
Чтобы вывести список таблиц, используйте следующий SQL запрос:
