Comando .alter table

O comando .alter table:

  • Protege dados em colunas "preservadas"
  • Reordena colunas de tabela
  • Define um novo esquema de coluna, docstringe pasta para uma tabela existente, substituindo o esquema de coluna existente, docstringe a pasta
  • Deve ser executado no contexto de um banco de dados específico que tenha como escopo o nome da tabela

Aviso

Usar o .alter comando incorretamente pode levar à perda de dados.

Permissões

Você deve ter pelo menos permissões de Administração tabela para executar esse comando.

Syntax

.altertableTablename(Columnname:columnType [, ...]) [with(propertyName=propertyValue [, ...])]

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
tableName string ✔️ O nome da tabela a ser alterada.
columnName, columnType string ✔️ O nome de uma coluna nova ou existente mapeada para o tipo de dados nessa coluna. A lista desses mapeamentos define o esquema da coluna de saída.
propertyName, propertyValue string Uma lista separada por vírgulas de pares de propriedades chave-valor. Consulte propriedades com suporte.

Aviso

As colunas existentes que não são especificadas no comando serão descartadas. Isso pode levar à perda inesperada de dados.

Dica

Use .show table [tableName] cslschema para obter o esquema de tabela existente antes de alterá-lo.

Propriedades com suporte

Nome Tipo Descrição
docstring string Texto livre que descreve a entidade a ser adicionada. Essa cadeia de caracteres é apresentada em várias configurações de experiência do usuário ao lado dos nomes de entidade.
folder string O nome da pasta a ser adicionada à tabela.

Como o comando afeta os dados

  • Os dados existentes em colunas listadas no comando não serão modificados
  • Os dados existentes em colunas não listadas no comando serão excluídos
  • Novas colunas serão adicionadas ao final do esquema
  • Os dados em novas colunas são considerados nulos
  • A tabela terá as mesmas colunas, na mesma ordem, conforme especificado

Observação

Se você tentar alterar um tipo de coluna, o comando falhará. Use .alter column em vez disso.

Aviso

  • Ingestão de dados que desconsidera a ordem das colunas e ocorre em paralelo com .alter table o risco de ingerir dados nas colunas erradas. Para evitar isso, verifique se a ingestão usa um objeto de mapeamento ou interrompa a ingestão durante a execução do .alter table comando.
  • A ingestão de dados pode modificar o esquema de coluna de uma tabela. Tenha cuidado para não remover acidentalmente as colunas desejadas que foram adicionadas durante a ingestão.

Exemplos

.alter table MyTable (ColumnX:string, ColumnY:int) 
.alter table MyTable (ColumnX:string, ColumnY:int) with (docstring = "Some documentation", folder = "Folder1")

Use .alter-merge quando quiser preservar as configurações da tabela e substituir ou expandir apenas determinadas colunas. Para obter mais informações, consulte .alter-merge table.