Udostępnij za pośrednictwem


ALTER TABLE KLAUZULA COLUMN

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Dodaje, modyfikuje lub odrzuca kolumnę w tabeli lub polu w kolumnie w tabeli usługi Delta Lake.

Wymagane uprawnienia

Jeśli używasz wykazu aparatu Unity, musisz mieć MODIFY uprawnienia do:

  • ALTER COLUMN
  • DODAWANIE KOLUMNY
  • UPUŚĆ KOLUMNĘ

Wszystkie inne operacje wymagają własności tabeli.

Składnia

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

ADD COLUMN, klauzula

Ta klauzula nie jest obsługiwana w przypadku JDBC źródeł danych.

Dodaje do tabeli co najmniej jedną kolumnę lub pola do istniejących kolumn w tabeli usługi Delta Lake.

Uwaga

Podczas dodawania kolumny do istniejącej tabeli delty nie można zdefiniować DEFAULT wartości. Wszystkie kolumny dodane do tabel delty są traktowane jako NULL dla istniejących wierszy. Po dodaniu kolumny można opcjonalnie zdefiniować wartość domyślną dla kolumny, ale jest ona stosowana tylko dla nowych wierszy wstawionych do tabeli. Użyj następującej składni:

ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_expression

Składnia

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

Parametry

  • column_identifier

    Nazwa kolumny do dodania. Nazwa musi być unikatowa w tabeli.

    Jeśli kolumna FIRST lub pole nie AFTER name zostaną określone, zostaną dołączone na końcu.

  • field_name

    W pełni kwalifikowana nazwa pola do dodania do istniejącej kolumny. Wszystkie składniki ścieżki do zagnieżdżonego pola muszą istnieć, a sama nazwa pola musi być unikatowa.

  • DEFAULT default_expression

    Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 11.3 LTS i nowsze

    DEFAULT Definiuje wartość kolumny, która jest używana w INSERT kolumnie i MERGE ... INSERT gdy kolumna nie jest określona.

    Jeśli nie określono wartości domyślnej, DEFAULT NULL oznacza to, że kolumny dopuszczane do wartości null.

    default_expression może składać się z literałów i wbudowanych funkcji LUB operatorów SQL, z wyjątkiem:

    default_expression nie może zawierać żadnego podzapytania.

    DEFAULT program jest obsługiwany w przypadku CSVźródeł , JSON, PARQUETi ORC .

  • data_type

    Określa typ danych kolumny lub pola. Nie wszystkie typy danych obsługiwane przez usługę Azure Databricks są obsługiwane przez wszystkie źródła danych.

  • COMMENT comment

    Opcjonalny STRING literał opisujący dodaną kolumnę lub pole.

    Jeśli chcesz dodać komentarz wygenerowany przez sztuczną inteligencję dla tabeli lub kolumny tabeli zarządzanej przez wykaz aparatu Unity, zobacz Dodawanie komentarzy wygenerowanych przez sztuczną inteligencję do obiektów wykazu aparatu Unity.

  • FIRST

    Jeśli zostanie określona kolumna zostanie dodana jako pierwsza kolumna tabeli, lub pole zostanie dodane jako pierwsze pole w zawierającej strukturę.

  • AFTERidentifier

    Jeśli określono kolumnę lub pole zostanie dodane natychmiast po polu lub kolumnie identifier.

  • KLAUZULA MASK

    Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 12.2 LTS i nowszy zaznacz pole wyboru oznaczone jako tak tylko wykaz aparatu Unity

    Ważne

    Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

    Dodaje funkcję maski kolumn do anonimowości poufnych danych. Wszystkie kolejne zapytania z tej kolumny otrzymają wynik oceny tej funkcji w kolumnie zamiast oryginalnej wartości kolumny. Może to być przydatne w celach szczegółowej kontroli dostępu, w których funkcja może sprawdzić tożsamość lub członkostwo w grupach użytkownika wywołującego w celu określenia, czy zredagować wartość.

ALTER COLUMN, klauzula

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Zmienia właściwość lub lokalizację kolumny.

Składnia

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

Parametry

  • column_identifier

    Nazwa kolumny, która ma zostać zmieniona.

  • field_name

    W pełni kwalifikowana nazwa pola do zmiany. Wszystkie składniki ścieżki do zagnieżdżonego pola muszą istnieć.

  • COMMENT comment

    Zmienia opis kolumny column_name . comment musi być literałem STRING .

  • FIRST lub AFTERidentyfikator

    Przenosi kolumnę z bieżącej pozycji do przodu (FIRST) lub natychmiast AFTER identifier. Ta klauzula jest obsługiwana tylko wtedy, gdy table_name jest tabelą delty.

  • TYPEdata_type

    Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 15.2 i nowsze

    Zmienia typ danych kolumny column_name .

    Ta klauzula jest obsługiwana tylko wtedy, gdy table_name jest tabelą delty.

    Następujące zmiany typu są obsługiwane dla wszystkich tabel delta:

    • Zwiększanie rozmiaru VARCHAR kolumny, na przykład z VARCHAR(5) do VARCHAR(10)
    • Zmiana typu CHAR kolumny na , na przykład z CHAR(5) na VARCHARVARCHAR(5)
    • Zmiana typu kolumny CHAR STRINGna VARCHAR , na przykład z VARCHAR(10) na STRING.

    Następujące zmiany typu są obsługiwane w przypadku tabel delty z delta.enableTypeWidening ustawionym na true:

    Ważne

    Ta funkcja jest dostępna w publicznej wersji zapoznawczej w środowisku Databricks Runtime 15.2 lub nowszym.

    Source type Obsługiwane szersze typy
    BYTE SHORT, , INT, BIGINT, , DECIMALDOUBLE
    SHORT INT, , BIGINT, , DECIMALDOUBLE
    INT BIGINT, , DECIMALDOUBLE
    BIGINT DECIMAL, DOUBLE
    FLOAT DOUBLE
    DECIMAL DECIMAL z większą precyzją i skalą
    DATE TIMESTAMP_NTZ

    Aby uzyskać bardziej szczegółowe informacje na temat rozszerzania typu, zobacz Rozszerzenie typu.

  • SET NOT NULL lub DROP NOT NULL

    Zmienia domenę prawidłowych wartości kolumn, aby wykluczyć wartości null SET NOT NULLlub uwzględnić wartości null DROP NOT NULL. Ta opcja jest obsługiwana tylko w przypadku tabel usługi Delta Lake. Usługa Delta Lake zapewni, że ograniczenie jest prawidłowe dla wszystkich istniejących i nowych danych.

  • SYNC IDENTITY

    Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 10.4 LTS i nowsze

    Zsynchronizuj metadane kolumny tożsamości z rzeczywistymi danymi. Podczas zapisywania własnych wartości w kolumnie tożsamości może ona nie być zgodna z metadanymi. Ta opcja ocenia stan i aktualizuje metadane tak, aby były zgodne z rzeczywistymi danymi. Po wykonaniu tego polecenia następna automatycznie przypisana wartość tożsamości rozpocznie się od start + (n + 1) * step, gdzie n jest najmniejszą wartością, która spełnia start + n * step >= max() (w przypadku pozytywnego kroku).

    Ta opcja jest obsługiwana tylko w przypadku kolumn tożsamości w tabelach usługi Delta Lake.

  • DROP DEFAULT

    Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 11.3 LTS i nowsze

    Usuwa wyrażenie domyślne z kolumny. W przypadku kolumn dopuszczanych wartości null jest to równoważne .SET DEFAULT NULL W przypadku kolumn zdefiniowanych za NOT NULL pomocą polecenia należy podać wartość dla każdej przyszłej INSERT operacji

  • SET DEFAULT default_expression

    Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 11.3 LTS i nowsze

    DEFAULT Definiuje wartość kolumny, która jest używana w INSERT kolumnie i MERGE ... INSERT gdy kolumna nie jest określona.

    Jeśli nie określono DEFAULT NULL wartości domyślnej dla kolumn dopuszczanych do wartości null.

    default_expression może składać się z literałów, wbudowanych funkcji SQL lub operatorów z wyjątkiem:

    default_expressionnie może zawierać podzapytania.

    DEFAULT program jest obsługiwany w przypadku CSVźródeł , JSON, ORCi PARQUET .

    Podczas definiowania wartości domyślnej dla nowo dodanej kolumny wartość domyślna ma zastosowanie do wszystkich wstępnie istniejących wierszy. Jeśli wartość domyślna zawiera funkcję niedeterministyczną, taką jak rand lub current_timestamp wartość jest obliczana raz po wykonaniu ALTER TABLE , i stosowana jako stała do wstępnie istniejących wierszy. W przypadku nowo wstawionych wierszy wyrażenie domyślne jest uruchamiane raz na wiersze.

    Jeśli ustawisz wartość domyślną przy użyciu polecenia ALTER COLUMN, istniejące wiersze nie będą miały wpływu na zmianę.

  • SETKLAUZULA MASK

    Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 12.2 LTS i nowszy zaznacz pole wyboru oznaczone jako tak tylko wykaz aparatu Unity

    Ważne

    Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

    Dodaje funkcję maski kolumn do anonimowości poufnych danych. Wszystkie kolejne zapytania z tej kolumny otrzymają wynik oceny tej funkcji w kolumnie zamiast oryginalnej wartości kolumny. Może to być przydatne w celach szczegółowej kontroli dostępu, w których funkcja może sprawdzić tożsamość lub członkostwo w grupach użytkownika wywołującego w celu określenia, czy zredagować wartość.

  • DROP MASK

    Dotyczy: zaznacz pole wyboru oznaczone jako tak tylko wykaz aparatu Unity

    Ważne

    Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

    Usuwa maskę kolumn dla tej kolumny, jeśli istnieje. Przyszłe zapytania z tej kolumny otrzymają oryginalne wartości kolumny.

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

    Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 13.3 LTS i nowsze

    Zastosuj tagi do kolumny. Musisz mieć APPLY TAG uprawnienia do dodawania tagów do kolumny.

    • tag_name

      Literał STRING. Element tag_name musi być unikatowy w tabeli lub kolumnie.

    • tag_value

      Literał STRING.

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

    Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 13.3 LTS i nowsze

    Usuń tagi z kolumny. Musisz mieć APPLY TAG uprawnienia do usuwania tagów z kolumny.

    • tag_name

      Literał STRING. Element tag_name musi być unikatowy w tabeli lub kolumnie.

DROP COLUMN, klauzula

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 11.3 LTS i nowsze

Upuść co najmniej jedną kolumnę lub pola w tabeli usługi Delta Lake.

Po usunięciu kolumny lub pola należy usunąć ograniczenia sprawdzania zależnego i wygenerowane kolumny.

Aby uzyskać informacje o wymaganiach, zobacz Zmienianie nazwy i usuwanie kolumn za pomocą mapowania kolumn usługi Delta Lake.

Składnia

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

Parametry

  • IF EXISTS

    Po określeniu parametru IF EXISTSusługa Azure Databricks ignoruje próbę porzucenia kolumn, które nie istnieją. W przeciwnym razie usunięcie nieistniejących kolumn spowoduje błąd.

  • column_identifier

    Nazwa istniejącej kolumny.

  • field_name

    W pełni kwalifikowana nazwa istniejącego pola.

KLAUZULA RENAME COLUMN

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 10.4 LTS i nowsze

Zmienia nazwę kolumny lub pola w tabeli usługi Delta Lake włączonej na potrzeby mapowania kolumn.

Zmiana nazwy kolumny lub pola wymaga również zmiany zależnych ograniczeń sprawdzania i wygenerowanych kolumn. Wszystkie klucze podstawowe i klucze obce używające kolumny zostaną porzucone. W przypadku kluczy obcych należy posiadać tabelę, w której zdefiniowano klucz obcy.

Aby uzyskać informacje o wymaganiach i sposobie włączania mapowania kolumn, zobacz Zmienianie nazwy i usuwanie kolumn za pomocą mapowania kolumn usługi Delta Lake.

Składnia

RENAME COLUMN { column_identifier TO to_column_identifier|
                field_name TO to_field_identifier }

Parametry

Przykłady

Zobacz PRZYKŁADY ALTER TABLE.