Команда .alter table

Команда .alter table делает следующее:

  • Защищает данные в "сохраненных" столбцах
  • Изменение порядка столбцов таблицы
  • Задает новую схему столбца , docstringи папку для существующей таблицы, перезаписав существующую схему столбцов , docstringи папку.
  • Должен выполняться в контексте конкретной базы данных, которая определяет имя таблицы.

Предупреждение

Неправильное .alter использование команды может привести к потере данных.

Разрешения

Для выполнения этой команды необходимо иметь по крайней мере разрешения на Администратор таблиц.

Синтаксис

.altertableTablename(columnName:columnType [, ...]) [with(propertyName=propertyValue [, ...])]

Дополнительные сведения о соглашениях о синтаксисе.

Параметры

Имя Тип Обязательно Описание
tableName string ✔️ Имя изменяемой таблицы.
columnName, columnType string ✔️ Имя существующего или нового столбца, сопоставленного с типом данных в этом столбце. Список этих сопоставлений определяет схему выходного столбца.
propertyName, propertyValue string Разделенный запятыми список пар свойств "ключ-значение". См. раздел Поддерживаемые свойства.

Предупреждение

Существующие столбцы, не указанные в команде, будут удалены. Это может привести к неожиданной потере данных.

Совет

Используйте .show table [tableName] cslschema , чтобы получить существующую схему таблицы перед ее изменением.

Поддерживаемые свойства

Имя Тип Описание
docstring string Свободный текст, описывающий добавляемую сущность. Эта строка представлена в различных параметрах пользовательского интерфейса рядом с именами сущностей.
folder string Имя папки, добавляемой в таблицу.

Влияние команды на данные

  • Существующие данные в столбцах, перечисленных в команде, не изменяются
  • Существующие данные в столбцах, не перечисленных в команде, будут удалены
  • Новые столбцы будут добавлены в конец схемы.
  • Данные в новых столбцах считаются пустыми.
  • Таблица будет содержать те же столбцы в том же порядке, что и указано.

Примечание

При попытке изменить тип столбца команда завершится ошибкой. Взамен рекомендуется использовать .alter column.

Предупреждение

  • Прием данных, который игнорирует порядок столбцов и происходит параллельно с .alter table риском приема данных в неправильные столбцы. Чтобы избежать этого, убедитесь, что при приеме используется объект сопоставления, или остановите прием при выполнении .alter table команды .
  • Прием данных может изменить схему столбцов таблицы. Будьте внимательны, чтобы случайно не удалить нужные столбцы, которые были добавлены во время приема.

Примеры

.alter table MyTable (ColumnX:string, ColumnY:int) 
.alter table MyTable (ColumnX:string, ColumnY:int) with (docstring = "Some documentation", folder = "Folder1")

Используйте, .alter-merge если вы хотите сохранить параметры таблицы и переопределить или развернуть только определенные столбцы. Дополнительные сведения см. в разделе .alter-merge table.