Comando .alter table

El comando .alter table:

  • Protege los datos en columnas "conservadas".
  • Reordena columnas de tabla
  • Establece un nuevo esquema de columna, docstring, y una carpeta en una tabla existente, sobrescribiendo el esquema de columna existente, docstringy la carpeta .
  • Debe ejecutarse en el contexto de una base de datos específica que tenga como ámbito el nombre de la tabla.

Advertencia

El uso incorrecto del .alter comando puede provocar la pérdida de datos.

Permisos

Debe tener al menos permisos de table Administración para ejecutar este comando.

Syntax

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

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
tableName string ✔️ Nombre de la tabla que se va a modificar.
columnName, columnType string ✔️ Nombre de una columna existente o nueva asignada al tipo de datos de esa columna. La lista de estas asignaciones define el esquema de columna de salida.
propertyName, propertyValue string Lista separada por comas de pares de propiedades clave-valor. Consulte las propiedades admitidas.

Advertencia

Las columnas existentes que no se especifican en el comando se quitarán. Esto podría provocar una pérdida inesperada de datos.

Sugerencia

Use .show table [tableName] cslschema para obtener el esquema de tabla existente antes de modificarlo.

Propiedades admitidas

Nombre Tipo Descripción
docstring string Texto libre que describe la entidad que se va a agregar. Esta cadena se presenta en varias configuraciones de experiencia de usuario junto a los nombres de entidad.
folder string Nombre de la carpeta que se va a agregar a la tabla.

Cómo afecta el comando a los datos

  • Los datos existentes en las columnas enumeradas en el comando no se modificarán.
  • Se eliminarán los datos existentes en las columnas que no aparecen en el comando.
  • Se agregarán nuevas columnas al final del esquema.
  • Se supone que los datos de las columnas nuevas son NULL
  • La tabla tendrá las mismas columnas, en el mismo orden, según lo especificado.

Nota

Si intenta modificar un tipo de columna, se producirá un error en el comando. En su lugar, use .alter column.

Advertencia

  • Ingesta de datos que ignora el orden de las columnas y se produce en paralelo con .alter table riesgos de ingesta de datos en las columnas incorrectas. Para evitar esto, asegúrese de que la ingesta usa un objeto de asignación o detiene la ingesta mientras se ejecuta el .alter table comando .
  • La ingesta de datos puede modificar el esquema de columnas de una tabla. Tenga cuidado de no quitar accidentalmente las columnas deseadas que se agregaron durante la ingesta.

Ejemplos

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

Use .alter-merge cuando desee conservar la configuración de la tabla y solo invalide o expanda determinadas columnas. Para obtener más información, vea .alter-merge table.