.alter table 命令

.alter table 命令:

  • 保護「保留」資料行中的資料
  • 重新排序資料表資料行
  • 將新的資料行結構描述、docstring 和資料夾設定為現有的資料表,並覆寫現有的資料行結構描述、docstring 和資料夾
  • 必須在範圍為資料表名稱的特定資料庫內容中執行

警告

不當使用 .alter 命令可能會導致資料遺失。

權限

您必須至少有 Table 管理員 許可權才能執行此命令。

Syntax

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

深入瞭解 語法慣例

參數

名稱 類型 必要 Description
tableName string ✔️ 要改變的數據表名稱。
columnNamecolumnType string ✔️ 對應至該數據行中數據類型的現有或新數據行名稱。 這些對應的清單會定義輸出數據行架構。
propertyNamepropertyValue string 索引鍵/值屬性組的逗號分隔清單。 請參閱 支持的屬性

警告

將會卸除命令中未指定的現有數據行。 這可能會導致非預期的數據遺失。

提示

在改變數據表架構之前,請使用 .show table [tableName] cslschema 來取得現有的數據表架構。

支援的屬性

名稱 類型 Description
docstring string 描述要加入之實體的免費文字。 此字串會顯示在實體名稱旁的各項 UX 設定中。
folder string 要加入至數據表的資料夾名稱。

命令如何影響數據

  • 命令所列數據列中的現有資料將不會修改
  • 命令中未列出的數據行中現有的數據將會被刪除
  • 新的數據行將會新增至架構的結尾
  • 新數據行中的數據假設為 Null
  • 數據表會依指定的順序,具有相同的數據行

注意

如果您嘗試改變數據行類型,命令將會失敗。 請改用 .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 數據表