Alterar a Tabela ou a Vista

Tabela ou vista de renomeado

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

Mude o nome de uma mesa ou vista existente. Se o nome da mesa de destino já existir, uma exceção é lançada. Esta operação não suporta a deslocação de tabelas através de bases de dados.

Para mesas geridas, renomear uma mesa move a localização da mesa; para tabelas não geridos (externos), renomear uma tabela não move a localização da mesa.

Para obter mais informações sobre tabelas geridas versus não geridas (externas), consulte tabelas geridas e não geridas.

Definir tabela ou visualizar propriedades

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

Desa esta vista as propriedades de uma mesa ou vista existente. Se uma determinada propriedade já foi definida, isso sobrepõe-se ao valor antigo com o novo.

Nota

  • Os nomes da propriedade são sensíveis a maiôs. Se tiver key1 e depois definido, é criada uma nova Key1 propriedade de mesa.

  • Para visualizar as propriedades da tabela, corra:

    DESCRIBE EXTENDED table_name
    

Definir um comentário de mesa

Para definir um comentário de mesa, corra:

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

Drop table ou ver propriedades

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

Largue uma ou mais propriedades de uma mesa ou vista existente. Se uma propriedade especificada não existir, uma exceção é lançada.

IF EXISTS

Se uma propriedade especificada não existir, nada acontecerá.

Definir propriedades serde ou 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, ...)

Desajei as propriedades serde ou serde de uma mesa ou divisória. Se uma propriedade serde especificada já foi definida, isso sobrepõe-se ao valor antigo com o novo. A definição do SerDe só é permitida para as tabelas criadas utilizando o formato Hive.

Atribuir proprietário

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

Atribua um proprietário à mesa ou à vista.

Construções de esquema do Lago Delta

Delta Lake suporta construções adicionais para modificar esquemas de mesa: adicionar, alterar e substituir colunas.

Para adicionar, alterar e substituir exemplos de colunas, consulte explicitamente atualizar o esquema.

Adicionar colunas

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

Adicione colunas a uma tabela existente. Suporta a adição de coluna aninhada. Se já existir uma coluna com o mesmo nome na mesa ou na mesma estrutura aninhada, é lançada uma exceção.

Alterar colunas

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

Alterar a definição de coluna de uma tabela existente. Pode alterar o tipo de dados, comentar, anular uma coluna ou reencomendar colunas.

Nota

Disponível em Databricks Runtime 7.0 ou superior.

Alterar colunas (sintaxe de colmeia)

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]

Alterar a definição de coluna de uma tabela existente. Pode alterar o comentário da coluna e reencomendar as colunas.

Nota

Em Databricks Runtime 7.0 e acima não pode CHANGE COLUMN utilizar:

  • Para alterar o conteúdo de tipos de dados complexos, tais como structs. Em vez disso, utilize ADD COLUMNS para adicionar novas colunas a campos aninhados, ou ALTER COLUMN para alterar as propriedades de uma coluna aninhada.
  • Para relaxar a anulação de uma coluna numa mesa Delta. Em vez disso, utilize ALTER TABLE table_name ALTER COLUMN column_name DROP NOT NULL .

Substituir colunas

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

Substitua as definições de coluna de uma tabela existente. Suporta alterar os comentários de colunas, adicionar colunas e reordenar colunas. Se as definições de colunas especificadas não forem compatíveis com as definições existentes, é lançada uma exceção.