Share via


.alter table コマンド

.alter table コマンドは、次のことを行います。

  • 「保持された」列のデータをセキュリティで保護する
  • テーブル列を並べ替える
  • 新しい列スキーマ、docstring、およびフォルダーを既存のテーブルに設定し、既存の列スキーマ、docstring、およびフォルダーを上書きする
  • テーブル名のスコープを指定する特定のデータベースのコンテキストで実行する必要がある

警告

.alter コマンドを正しく使用しないと、データが失われる可能性があります。

アクセス許可

このコマンドを実行するには、少なくとも Table 管理 アクセス許可が必要です。

構文

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

構文規則について詳しく知る。

パラメーター

名前 必須 説明
tableName string ✔️ 変更するテーブルの名前。
columnNamecolumnType string ✔️ その列のデータ型にマップされた既存または新しい列の名前。 これらのマッピングの一覧では、出力列スキーマが定義されています。
propertyNamepropertyValue string キーと値のプロパティペアのコンマ区切りのリスト。 サポートされているプロパティに関するページを参照してください。

警告

コマンドで指定されていない既存の列は削除されます。 これにより、予期しないデータ損失が発生する可能性があります。

ヒント

を使用して .show table [tableName] cslschema 、既存のテーブル スキーマを変更する前に取得します。

サポートされているプロパティ

名前 説明
docstring string 追加するエンティティを説明するフリー テキスト。 この文字列は、エンティティ名の横にあるさまざまな UX 設定で表示されます。
folder string テーブルに追加するフォルダーの名前。

コマンドがデータに与える影響

  • コマンドに一覧表示されている列内の既存のデータは変更されません
  • コマンドにリストされていない列内の既存のデータは削除されます
  • スキーマの末尾に新しい列が追加されます
  • 新しい列のデータは null と見なされます
  • テーブルの列は、指定した順序で同じになります

Note

列の種類を変更しようとすると、コマンドは失敗します。 代わりに、.alter column を使用してください。

警告

  • 列の順序を無視し、間違った列にデータを取り込むリスクと .alter table 並行して発生するデータ インジェスト。 これを防ぐには、コマンドの実行中にインジェストでマッピング オブジェクトを使用するか、インジェストを .alter table 停止してください。
  • データ インジェストによって、テーブルの列スキーマが変更される場合があります。 インジェスト中に追加された目的の列を誤って削除しないように注意してください。

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

テーブルの設定を保持し、特定の列のみをオーバーライドまたは展開する場合に使用 .alter-merge します。 詳細については、「 .alter-merge table」を参照してください。