Ändern einer Tabelle oder SichtAlter Table or View

Tabelle oder Sicht umbenennenRename table or view

ALTER [TABLE|VIEW] [db_name.]table_name RENAME TO [db_name.]new_table_name

Umbenennen einer vorhandenen Tabelle oder Sicht.Rename an existing table or view. Wenn der Name der Ziel Tabelle bereits vorhanden ist, wird eine Ausnahme ausgelöst.If the destination table name already exists, an exception is thrown. Bei diesem Vorgang wird das Verschieben von Tabellen zwischen Datenbanken nicht unterstützt.This operation does not support moving tables across databases.

Bei verwalteten Tabellen wird durch das Umbenennen einer Tabelle der Speicherort der Tabelle verschoben. bei nicht verwalteten (externen) Tabellen wird der Tabellen Speicherort nicht durch das Umbenennen einer Tabelle verschoben.For managed tables, renaming a table moves the table location; for unmanaged (external) tables, renaming a table does not move the table location.

Weitere Informationen zu verwalteten und nicht verwalteten (externen) Tabellen finden Sie unter verwaltete und nicht verwaltete Tabellen.For further information on managed versus unmanaged (external) tables, see Managed and unmanaged tables.

Festlegen der Tabellen-oder Sicht EigenschaftenSet table or view properties

ALTER [TABLE|VIEW] table_name SET TBLPROPERTIES (key1=val1, key2=val2, ...)

Legen Sie die Eigenschaften einer vorhandenen Tabelle oder Sicht fest.Set the properties of an existing table or view. Wenn eine bestimmte Eigenschaft bereits festgelegt wurde, wird der alte Wert durch den neuen Wert überschrieben.If a particular property was already set, this overrides the old value with the new one.

Hinweis

  • Bei Eigenschaftennamen wird zwischen Groß- und Kleinschreibung unterschieden.Property names are case sensitive. Wenn Sie key1 und anschließend später festlegen Key1 , wird eine neue Tabellen Eigenschaft erstellt.If you have key1 and then later set Key1, a new table property is created.

  • Führen Sie zum Anzeigen von Tabellen Eigenschaften Folgendes aus:To view table properties, run:

    DESCRIBE EXTENDED table_name
    

Tabellen Kommentar festlegenSet a table comment

Um einen Tabellen Kommentar festzulegen, führen Sie Folgendes aus:To set a table comment, run:

ALTER TABLE table_name SET TBLPROPERTIES ('comment' = 'A table comment.')

DROP TABLE-oder View-EigenschaftenDrop table or view properties

ALTER (TABLE|VIEW) table_name UNSET TBLPROPERTIES
    [IF EXISTS] (key1, key2, ...)

Löschen Sie eine oder mehrere Eigenschaften einer vorhandenen Tabelle oder Sicht.Drop one or more properties of an existing table or view. Wenn eine angegebene Eigenschaft nicht vorhanden ist, wird eine Ausnahme ausgelöst.If a specified property does not exist, an exception is thrown.

IF EXISTS

Wenn eine angegebene Eigenschaft nicht vorhanden ist, wird nichts passieren.If a specified property does not exist, nothing will happen.

Festlegen von serde-oder serde-EigenschaftenSet SerDe or SerDe properties

ALTER TABLE table_name [PARTITION part_spec] SET SERDE serde
    [WITH SERDEPROPERTIES (key1=val1, key2=val2, ...)]

ALTER TABLE table_name [PARTITION part_spec]
    SET SERDEPROPERTIES (key1=val1, key2=val2, ...)

part_spec:
    : (part_col_name1=val1, part_col_name2=val2, ...)

Festlegen der serde-oder serde-Eigenschaften einer Tabelle oder einer Partition.Set the SerDe or the SerDe properties of a table or partition. Wenn eine angegebene serde-Eigenschaft bereits festgelegt wurde, wird der alte Wert durch den neuen Wert überschrieben.If a specified SerDe property was already set, this overrides the old value with the new one. Das Festlegen des serde ist nur für Tabellen zulässig, die mit dem Hive-Format erstellt wurden.Setting the SerDe is allowed only for tables created using the Hive format.

Besitzer zuweisenAssign owner

ALTER (TABLE|VIEW) object-name OWNER TO `user_name@user_domain.com`

Weisen Sie der Tabelle oder Sicht einen Besitzer zu.Assign an owner to the table or view.

Delta-Lake-SchemasetDelta Lake schema constructs

Delta Lake unterstützt zusätzliche Konstrukte zum Ändern des Tabellen Schemas: Hinzufügen, ändern und Ersetzen von Spalten.Delta Lake supports additional constructs for modifying table schema: add, change, and replace columns.

Beispiele zum Hinzufügen, ändern und Ersetzen von Spalten finden Sie unter explizites Aktualisieren des Schemas.For add, change, and replace column examples, see Explicitly update schema.

Hinzufügen von SpaltenAdd columns

ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment] [FIRST|AFTER colA_name], ...)

ALTER TABLE table_name ADD COLUMNS (col_name.nested_col_name data_type [COMMENT col_comment] [FIRST|AFTER colA_name], ...)

Hinzufügen von Spalten zu einer vorhandenen Tabelle.Add columns to an existing table. Es unterstützt das Hinzufügen einer Spalte mit einer Spalte.It supports adding nested column. Wenn eine Spalte mit demselben Namen bereits in der Tabelle oder der gleichen geschpesteten Struktur vorhanden ist, wird eine Ausnahme ausgelöst.If a column with the same name already exists in the table or the same nested struct, an exception is thrown.

Ändern von SpaltenChange columns

ALTER TABLE table_name (ALTER|CHANGE) [COLUMN] alterColumnAction

ALTER TABLE table_name (ALTER|CHANGE) [COLUMN] alterColumnAction

alterColumnAction:
    : TYPE dataType
    : [COMMENT col_comment]
    : [FIRST|AFTER colA_name]
    : (SET | DROP) NOT NULL

Ändern Sie eine Spaltendefinition einer vorhandenen Tabelle.Change a column definition of an existing table. Sie können den Datentyp, den Kommentar, die NULL-Zulässigkeit einer Spalte ändern oder Spalten neu anordnen.You can change the data type, comment, nullability of a column or reorder columns.

Hinweis

Verfügbar in Databricks Runtime 7,0 und höher.Available in Databricks Runtime 7.0 and above.

Ändern von Spalten (Hive-Syntax)Change columns (Hive syntax)

ALTER TABLE table_name CHANGE [COLUMN] col_name col_name data_type [COMMENT col_comment] [FIRST|AFTER colA_name]

ALTER TABLE table_name CHANGE [COLUMN] col_name.nested_col_name col_name data_type [COMMENT col_comment] [FIRST|AFTER colA_name]

Ändern Sie eine Spaltendefinition einer vorhandenen Tabelle.Change a column definition of an existing table. Sie können den Kommentar der Spalte ändern und Spalten neu anordnen.You can change the comment of the column and reorder columns.

Hinweis

In Databricks Runtime 7,0 und höher kann Folgendes nicht verwendet werden CHANGE COLUMN :In Databricks Runtime 7.0 and above you cannot use CHANGE COLUMN:

  • Zum Ändern des Inhalts komplexer Datentypen, z. b. Strukturen.To change the contents of complex data types such as structs. Verwenden Sie stattdessen, um ADD COLUMNS einer Spalte neue Spalten hinzuzufügen, oder ALTER COLUMN um die Eigenschaften einer Spalte zu ändern.Instead use ADD COLUMNS to add new columns to nested fields, or ALTER COLUMN to change the properties of a nested column.
  • , Um die NULL-Zulässigkeit einer Spalte in einer Delta Tabelle zu lockern.To relax the nullability of a column in a Delta table. Verwenden Sie stattdessen ALTER TABLE table_name ALTER COLUMN column_name DROP NOT NULL .Instead use ALTER TABLE table_name ALTER COLUMN column_name DROP NOT NULL.

Spalten ersetzenReplace columns

ALTER TABLE table_name REPLACE COLUMNS (col_name1 col_type1 [COMMENT col_comment1], ...)

Ersetzen Sie die Spaltendefinitionen einer vorhandenen Tabelle.Replace the column definitions of an existing table. Es unterstützt das Ändern der Spalten Kommentare, das Hinzufügen von Spalten und das Neuordnen von Spalten.It supports changing the comments of columns, adding columns, and reordering columns. Wenn die angegebenen Spaltendefinitionen nicht mit den vorhandenen Definitionen kompatibel sind, wird eine Ausnahme ausgelöst.If specified column definitions are not compatible with the existing definitions, an exception is thrown.