commande .alter table

La commande .alter table :

  • Sécurise les données dans des colonnes « conservées »
  • Réorganise les colonnes de table
  • Définit un nouveau schéma de colonne, docstring, et un dossier sur une table existante, en remplaçant le schéma de colonne, docstringet le dossier existants
  • Doit s’exécuter dans le contexte d’une base de données spécifique qui étend le nom de la table

Avertissement

L’utilisation incorrecte de la .alter commande peut entraîner une perte de données.

Autorisations

Vous devez disposer d’au moins des autorisations table Administration pour exécuter cette commande.

Syntax

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

Découvrez les conventions de syntaxe.

Paramètres

Nom Type Obligatoire Description
tableName string ✔️ Nom de la table à modifier.
columnName, columnType string ✔️ Nom d’une colonne existante ou nouvelle mappée au type de données dans cette colonne. La liste de ces mappages définit le schéma de colonne de sortie.
propertyName, propertyValue string Liste séparée par des virgules de paires de propriétés clé-valeur. Consultez propriétés prises en charge.

Avertissement

Les colonnes existantes qui ne sont pas spécifiées dans la commande sont supprimées. Cela peut entraîner une perte de données inattendue.

Conseil

Utilisez .show table [tableName] cslschema pour obtenir le schéma de table existant avant de le modifier.

Propriétés prises en charge

Nom Type Description
docstring string Texte libre décrivant l’entité à ajouter. Cette chaîne est présentée dans différents paramètres d’expérience utilisateur en regard des noms d’entité.
folder string Nom du dossier à ajouter à la table.

Impact de la commande sur les données

  • Les données existantes dans les colonnes répertoriées dans la commande ne seront pas modifiées
  • Les données existantes dans les colonnes non répertoriées dans la commande seront supprimées
  • De nouvelles colonnes seront ajoutées à la fin du schéma
  • Les données des nouvelles colonnes sont supposées être null
  • La table aura les mêmes colonnes, dans le même ordre, que spécifié

Notes

Si vous essayez de modifier un type de colonne, la commande échoue. Utilisez .alter column à la place.

Avertissement

  • Ingestion des données qui ignore l’ordre des colonnes et se produit en parallèle avec .alter table des risques d’ingestion de données dans les colonnes incorrectes. Pour éviter cela, assurez-vous que l’ingestion utilise un objet de mappage ou arrête l’ingestion lors de l’exécution de la .alter table commande.
  • L’ingestion de données peut modifier le schéma de colonne d’une table. Veillez à ne pas supprimer accidentellement les colonnes souhaitées qui ont été ajoutées pendant l’ingestion.

Exemples

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

Utilisez .alter-merge lorsque vous souhaitez conserver les paramètres de table et remplacer ou développer uniquement certaines colonnes. Pour plus d’informations, consultez la table .alter-merge.