.alter table コマンド

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

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

警告

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

アクセス許可

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

構文

.altertable tableName (columnName:columnType [, ...] ) [with (propertyName = propertyValue [, ...]] )]

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

パラメーター

件名 タイプ Required 説明
tableName string ✔️ 変更するテーブルの名前。
columnName, columnType string ✔️ その列のデータ型にマップされた既存または新しい列の名前。 これらのマッピングの一覧では、出力列スキーマが定義されています。
propertyName, propertyValue 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 テーブルを参照してください。