.alter table コマンド
.alter table
コマンドは、次のことを行います。
- 「保持された」列のデータをセキュリティで保護する
- テーブル列を並べ替える
- 新しい列スキーマ、
docstring
、およびフォルダーを既存のテーブルに設定し、既存の列スキーマ、docstring
、およびフォルダーを上書きする - テーブル名のスコープを指定する特定のデータベースのコンテキストで実行する必要がある
警告
.alter
コマンドを正しく使用しないと、データが失われる可能性があります。
アクセス許可
このコマンドを実行するには、少なくとも Table 管理者 アクセス許可が必要です。
構文
.alter
table
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 テーブルを参照してください。 - テーブルの保持ポリシーを変更するには、「 .alter table policy retention」を参照してください。
- テーブル キャッシュ ポリシーを変更するには、「 .alter table policy cachingを参照してください。
- テーブル更新ポリシーを変更するには、「 .alter table policy update」を参照してください。
- テーブルマージポリシーを変更するには、「 .alter table policy mergeを参照してください。