ALTER TABLE Предложение COLUMN

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime

Добавляет, изменяет или удаляет столбец в таблице или поле в столбце в таблице Delta Lake.

Необходимые разрешения

Если вы используете каталог Unity, вам необходимо разрешение MODIFY на выполнение следующих действий:

  • ALTER COLUMN
  • ADD COLUMN
  • DROP COLUMN

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

Синтаксис

ALTER TABLE table_name
   { ADD COLUMN clause |
     ALTER COLUMN clause |
     DROP COLUMN clause |
     RENAME COLUMN clause }

Предложение ADD COLUMN

Это предложение не поддерживается для источников данных JDBC.

Добавляет один или несколько столбцов в таблицу или одно или несколько полей в существующие столбцы в таблице Delta Lake.

Примечание.

При добавлении столбца в существующую таблицу Delta нельзя определить DEFAULT значение. Все столбцы, добавленные в таблицы Delta, обрабатываются как NULL для существующих строк. После добавления столбца можно при необходимости определить значение по умолчанию для столбца, но оно применяется только для новых строк, вставленных в таблицу. Используйте следующий синтаксис:

ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_expression

Синтаксис

{ ADD [ COLUMN | COLUMNS ]
  ( { { column_identifier | field_name } data_type
      [ DEFAULT clause ] [ COMMENT comment ] [ FIRST | AFTER identifier ]
      [ MASK clause ] } [, ...] ) }

Параметры

  • column_identifier

    Имя добавляемого столбца. Имя должно быть уникальным в пределах таблицы.

    Если не указаны параметры FIRST и AFTER name, новый столбец или новое поле будут добавлены в конец.

  • field_name

    Полное имя поля, которое будет добавлено к существующему столбцу. Должны существовать все компоненты пути вплоть до уровня вложенности нового поля, а само имя поля должно быть уникальным.

  • DEFAULT default_expression

    Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 11.3 LTS и выше

    Определяет значение DEFAULT для столбца, который используется в INSERT и MERGE ... INSERT, когда столбец не указан.

    Если значение по умолчанию не указано, для столбцов, допускающих значение NULL, подразумевается DEFAULT NULL.

    default_expression может состоять из литералов и встроенных функций SQL или операторов за исключением следующих:

    default_expression не должен содержать любых вложенных запросов.

    DEFAULT поддерживается для источников CSV, JSON, PARQUET и ORC.

  • data_type

    Задает тип данных столбца или поля. Не все типы данных, поддерживаемые Azure Databricks, поддерживаются всеми источниками данных.

  • COMMENT comment

    Необязательный STRING литерал, описывающий добавленный столбец или поле.

    Если вы хотите добавить созданный ИИ комментарий для таблицы или столбца таблицы, управляемого каталогом Unity, см. статью "Добавление комментариев, созданных ИИ" в таблицу.

  • FIRST

    Если указан этот параметр, столбец будет добавлен на первую позицию в таблице или поле будет добавлено на первую позицию в содержащей его структуре.

  • AFTERидентификатор

    Если указан этот параметр, то столбец или поле будет добавлены сразу после поля или столбца с идентификатором identifier.

  • Предложение MASK

    Применимо к:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 12.2 LTS и более поздних проверка помечены да версий каталога Unity

    Внимание

    Эта функция предоставляется в режиме общедоступной предварительной версии.

    Добавляет функцию маски столбца для анонимизации конфиденциальных данных. Все будущие запросы из этого столбца получат результат оценки этой функции по столбцу вместо исходного значения столбца. Это может быть полезно для точного контроля доступа, в которых функция может проверить удостоверение и /или членство в группах вызывающего пользователя, чтобы решить, следует ли изменить значение.

Предложение ALTER COLUMN

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime

Изменяет свойство или расположение столбца.

Синтаксис

{ { ALTER | CHANGE } [ COLUMN ] { column_identifier | field_name }
  { COMMENT comment |
    { FIRST | AFTER column_identifier } |
    { SET | DROP } NOT NULL |
    SET DEFAULT clause |
    DROP DEFAULT |
    SYNC IDENTITY |
    SET { MASK clause } |
    DROP MASK |
    SET TAGS clause |
    UNSET TAGS clause } }

Параметры

  • column_identifier

    Имя столбца, который требуется изменить.

  • field_name

    Полное имя изменяемого поля. Должны существовать все компоненты пути к вложенному полю.

  • COMMENT comment

    Изменяет описание столбца column_name. comment должен быть литералом STRING .

  • FIRST или AFTERидентификатор

    Перемещает столбец из текущего положения на первую позицию (FIRST) или сразу после указанного элемента (AFTERidentifier). Это предложение поддерживается, только если table_name указывает на таблицу Delta.

  • SET NOT NULL или DROP NOT NULL

    Изменяет домен допустимых значений столбца, чтобы исключить значения NULL (SET NOT NULL) или включить значения NULL (DROP NOT NULL). Эта возможность поддерживается только для таблиц Delta Lake. Delta Lake будет отслеживать соблюдение этого ограничения для всех существующих и новых данных.

  • SYNC IDENTITY

    Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 10.4 LTS и выше

    Синхронизируйте метаданные для столбца идентификаторов с фактическими данными. Если вы сохраняете собственные значения в столбец идентификаторов, они могут не соответствовать метаданным. Этот механизм оценивает состояние и обновляет метаданные в соответствии с фактическими данными. После выполнения этой команды следующее автоматически назначенное значение идентификатора будет начинаться с позиции start + (n + 1) * step, где n — наименьшее значение, удовлетворяющее start + n * step >= max() (для положительного шага).

    Этот механизм поддерживается только для столбцов идентификаторов в таблицах Delta Lake.

  • DROP DEFAULT

    Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 11.3 LTS и выше

    Удаляет выражение по умолчанию из столбца. Для столбцов, допускающих значение NULL, это эквивалентно SET DEFAULT NULL. Для столбцов, определенных с NOT NULL, вам необходимо указать значение для каждой будущей операции INSERT

  • SET DEFAULT default_expression

    Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 11.3 LTS и выше

    Определяет значение DEFAULT для столбца, который используется в INSERT и MERGE ... INSERT, когда столбец не указан.

    Если значение по умолчанию не указано, для столбцов, допускающих значение NULL, подразумевается DEFAULT NULL.

    default_expression может состоять из литералов, встроенных функций SQL или операторов за исключением следующих:

    default_expression не должен содержать любых вложенных запросов.

    DEFAULT поддерживается для источников CSV, JSON, ORC и PARQUET.

    При определении значения по умолчанию для добавленного столбца значение по умолчанию применяется ко всем существующим строкам. Если значение по умолчанию включает недетерминированную функцию, например rand или current_timestamp значение вычисляется один раз при выполнении ALTER TABLE и применяется в качестве константы к существующим строкам. Для недавно вставленных строк выражение по умолчанию выполняется один раз на каждую строку.

    При настройке по умолчанию ALTER COLUMNсуществующие строки не влияют на это изменение.

  • SETПредложение MASK

    Применимо к:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 12.2 LTS и более поздних проверка помечены да версий каталога Unity

    Внимание

    Эта функция предоставляется в режиме общедоступной предварительной версии.

    Добавляет функцию маски столбца для анонимизации конфиденциальных данных. Все будущие запросы из этого столбца получат результат оценки этой функции по столбцу вместо исходного значения столбца. Это может быть полезно для точного контроля доступа, в которых функция может проверить удостоверение и /или членство в группах вызывающего пользователя, чтобы решить, следует ли изменить значение.

  • DROP MASK

    Область применения:проверка помечены да только каталог Unity

    Внимание

    Эта функция предоставляется в режиме общедоступной предварительной версии.

    Удаляет маску столбца для этого столбца, если таковой есть. Будущие запросы из этого столбца получат исходные значения столбца.

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 13.3 LTS и выше

    Примените теги к столбцу. Необходимо иметь apply_tag разрешение на добавление тегов в столбец.

    • tag_name

      Литерал STRING. Он tag_name должен быть уникальным в таблице или столбце.

    • tag_value

      Литерал STRING.

  • UNSET TAGS ( tag_name [, ...] )

    Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 13.3 LTS и выше

    Удалите теги из столбца. Необходимо иметь apply_tag разрешение на удаление тегов из столбца.

    • tag_name

      Литерал STRING. Он tag_name должен быть уникальным в таблице или столбце.

Предложение DROP COLUMN

Внимание

Эта функция предоставляется в режиме общедоступной предварительной версии.

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 11.3 LTS и выше

Удаляет один или несколько столбцов или полей в таблице Delta Lake.

При удалении столбца или поля также нужно удалить все зависимые проверочные ограничения и автоматически создаваемые столбцы.

Сведения о требованиях см. в разделе "Переименование и удаление столбцов" с помощью сопоставления столбцов Delta Lake.

Синтаксис

DROP [COLUMN | COLUMNS] [ IF EXISTS ] ( { {column_identifier | field_name} [, ...] )

Параметры

  • IF EXISTS

    При указании IF EXISTSAzure Databricks игнорирует попытку удалить столбцы, которые не существуют. В противном случае удаление несуществующих столбцов вызовет ошибку.

  • column_identifier

    Имя существующего столбца.

  • field_name

    Полное имя существующего поля.

Предложение RENAME COLUMN

Внимание

Эта функция предоставляется в режиме общедоступной предварительной версии.

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 11.3 LTS и выше

Переименовывает столбец или поле в таблице Delta Lake.

При изменении имени столбца или поля необходимо также изменить зависимые проверочные ограничения и созданные столбцы. Все первичные ключи и внешние ключи, использующие столбец, будут удалены. При использовании внешних ключей необходимо владеть таблицей, для которой определен внешний ключ.

Сведения о требованиях см. в разделе "Переименование и удаление столбцов" с помощью сопоставления столбцов Delta Lake.

Синтаксис

RENAME COLUMN { column_identifier TO to_column_identifier|
                field_name TO to_field_identifier }

Параметры

  • column_identifier

    Существующее имя столбца.

  • to_column_identifier

    Новый идентификатор столбца. Идентификатор должен быть уникальным в пределах таблицы.

  • field_name

    Существующее полное имя поля.

  • to_field_identifier

    Новый идентификатор поля. Идентификатор должен быть уникальным в пределах локальной структуры.

Примеры

См . примеры ALTER TABLE.