Переименование таблицы
Внимание
Поддерживается только для строковых таблиц. Поддержка функциональности для колоночных таблиц находится в разработке.
ALTER TABLE old_table_name RENAME TO new_table_name;
См. правила наименования таблиц и колонок
Правила наименования схемных объектов
У каждого схемного объекта базы данных в YDB есть имя. В YQL-выражениях имена схемных объектов указываются с помощью идентификаторов, заключённых в обратные кавычки (`
) или без этих символов. Для более подробной информации об идентификаторах, см. Ключевые слова и идентификаторы.
Имена схемных объектов в YDB должны соответствовать следующим требованиям:
- Имя объекта может состоять из следующих символов:
- прописные латинские буквы;
- строчные латинские буквы;
- цифры;
- специальные символы:
.
,-
и_
.
- Длина имени объекта не должна превышать 255 символов.
- Объекты не должны создаваться в папках, имена которых начинаются с точки, таких как
.sys
,.medatata
,.sys_health
.
Правила наименования колонок
Имена колонок в YDB должны соответствовать следующим требованиям:
- Имя колонки может состоять из следующих символов:
- прописные латинские буквы;
- строчные латинские буквы;
- цифры;
- специальные символы:
-
и_
.
- Длина имени колонки не должна превышать 255 символов.
- Имя колонки не должно начинаться с системного префикса
__ydb_
.
Если таблица с новым именем существует, будет возвращена ошибка. Возможность транзакционной подмены таблицы под нагрузкой поддерживается специализированными методами в CLI и SDK.
Важно
Если в YQL запросе содержится несколько команд ALTER TABLE ... RENAME TO ...
, то каждая будет выполнена в режиме автокоммита в отдельной транзакции. С точки зрения внешнего процесса, таблицы будут переименованы последовательно одна за другой. Чтобы переименовать несколько таблиц в одной транзакции, используйте специализированные методы, доступные в CLI и SDK.
Переименование может использоваться для перемещения таблицы из одной директории внутри БД в другую, например:
ALTER TABLE `table1` RENAME TO `/backup/table1`;