Modificación de tabla o vista

Cambiar el nombre de la tabla o vista

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

Cambie el nombre de una tabla o vista existente. Si el nombre de la tabla de destino ya existe, se produce una excepción. Esta operación no admite el movimiento de tablas entre bases de datos.

En el caso de las tablas administradas, el cambio de nombre de una tabla mueve la ubicación de la tabla; Para las tablas no administradas (externas), el cambio de nombre de una tabla no mueve la ubicación de la tabla.

Para obtener más información sobre las tablas administradas frente a las no administradas (externas), vea Tablas administradas y no administradas.

Establecimiento de propiedades de tabla o vista

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

Establezca las propiedades de una tabla o vista existentes. Si ya se ha establecido una propiedad determinada, se invalida el valor anterior por el nuevo.

Nota

  • Los nombres de propiedad distinguen entre mayúsculas y minúsculas. Si tiene key1 y, después, establece Key1 , se crea una nueva propiedad de tabla.

  • Para ver las propiedades de la tabla, ejecute:

    DESCRIBE EXTENDED table_name
    

Establecer un comentario de tabla

Para establecer un comentario de tabla, ejecute:

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

Quitar propiedades de tabla o vista

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

Quitar una o varias propiedades de una tabla o vista existentes. Si no existe una propiedad especificada, se produce una excepción.

IF EXISTS

Si no existe una propiedad especificada, no ocurrirá nada.

Establecimiento de propiedades SerDe o SerDe

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, ...)

Establezca las propiedades SerDe o SerDe de una tabla o partición. Si ya se ha establecido una propiedad SerDe especificada, se invalida el valor anterior por el nuevo. Solo se permite establecer el SerDe para las tablas creadas con el formato de Hive.

Asignar propietario

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

Asigne un propietario a la tabla o vista.

Construcciones de esquema de Delta Lake

Delta Lake admite construcciones adicionales para modificar el esquema de tabla: agregar, cambiar y reemplazar columnas.

Para obtener ejemplos de agregar, cambiar y reemplazar columnas, vea Actualización explícita del esquema.

Add columns (Agregar columnas)

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], ...)

Agregue columnas a una tabla existente. Admite la adición de columnas anidadas. Si ya existe una columna con el mismo nombre en la tabla o en la misma estructura anidada, se produce una excepción.

Cambiar columnas

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

Cambiar una definición de columna de una tabla existente. Puede cambiar el tipo de datos, el comentario y la nulabilidad de una columna o reordenar columnas.

Nota

Disponible en Databricks Runtime 7.0 y posteriores.

Cambiar columnas (sintaxis de Hive)

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]

Cambiar una definición de columna de una tabla existente. Puede cambiar el comentario de la columna y reordenar las columnas.

Nota

En Databricks Runtime versión 7.0 y posteriores no se puede usar CHANGE COLUMN :

  • Para cambiar el contenido de tipos de datos complejos, como structs. En su ADD COLUMNS lugar, use para agregar nuevas columnas a campos anidados o para ALTER COLUMN cambiar las propiedades de una columna anidada.
  • Para relajar la nulabilidad de una columna en una tabla Delta. En su lugar, use ALTER TABLE table_name ALTER COLUMN column_name DROP NOT NULL .

Reemplazar columnas

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

Reemplace las definiciones de columna de una tabla existente. Admite el cambio de los comentarios de las columnas, la adición de columnas y la reordenación de columnas. Si las definiciones de columna especificadas no son compatibles con las definiciones existentes, se produce una excepción.