資料表操作
通過命令列工具建立、使用、查看、更新和刪除資料表。
前提條件
建立表
建立資料表時需指定主鍵列、資料生命週期等配置。也支援通過 JSON 設定檔建立。
create -t tableName --pk '[{"c":"col1","t":"string"},{"c":"col2","t":"integer"}]' [--ttl seconds] [--version max]參數 | 必填 | 說明 |
| 否 | 表類型,預設 |
| 是 | 資料表名稱。 |
| 是 | 主鍵列定義,JSON 數組格式。每個元素包含:
說明 建立資料表時,屬性列不需要定義。Table Store每行的屬性列都可以不同,屬性列的列名在寫入資料時指定。 單表最多 4 個主鍵列,第一個主鍵列預設為分區鍵。主鍵列配置後不可修改。 |
| 否 | 資料生命週期,單位為秒。預設 |
| 否 | 最大版本數,預設 重要 當前Table Store未限制最大版本數,但出於效能與易用性考慮,建議控制在 500 以內。 |
| 否 | 預留讀/寫輸送量,單位為 CU,預設 說明
|
| 否 | |
| 否 | 預定義列,JSON 數組格式。使用二級索引時需指定。每個元素包含:
說明 單個資料表預設最多支援 32 個預定義列。 |
| 否 | 是否開啟 Stream,預設 |
| 否 | Stream 資料到期時間,單位為小時,預設 |
| 否 | 通過 JSON 設定檔建立表,指定檔案路徑。 |
建立基本資料表:
create -t mytable --pk '[{"c":"uid","t":"string"},{"c":"pid","t":"integer"}]'建立帶自增列和 TTL 的資料表:
create -t mytable --pk '[{"c":"uid","t":"string"},{"c":"pid","t":"integer","opt":"auto"}]' --ttl 864000 --version 1建立帶預定義列的資料表(用於二級索引):
create -t mytable --pk '[{"c":"uid","t":"string"},{"c":"pid","t":"integer"}]' --defined '[{"c":"name","t":"string"},{"c":"age","t":"integer"}]'通過設定檔建立資料表:
Windows
create -i D:\\localpath\\filename.jsonLinux 和 macOS
create -i /localpath/filename.json設定檔樣本:
{
"Name": "mytable",
"Meta": {
"Pk": [
{"C": "uid", "T": "string", "Opt": "none"},
{"C": "pid", "T": "integer", "Opt": "none"}
]
},
"Option": {
"TTL": 864000,
"Version": 3
},
"CU": {
"Read": 0,
"Write": 0
}
}使用表
選擇要操作的資料表,後續資料操作將在該表上執行。
use --wc -t tableName參數 | 必填 | 說明 |
| 否 | 使用寬表模型的資料表。 |
| 是 | 表名稱。 |
樣本:
use --wc -t mytable列出表名稱
列出當前執行個體下的表名稱,支援按表類型過濾。
list [--wc | --all] [--detail]參數 | 必填 | 說明 |
| 否 | 只列出資料表。 |
| 否 | 列出所有類型的表。 |
| 否 | 顯示錶的詳細資料。 |
樣本:
list --wc查看錶資訊
查看資料表或索引表的詳細配置資訊。
desc [-t tableName] [-f json|table] [-o outputFile]參數 | 必填 | 說明 |
| 否 | 資料表或索引表名稱。省略時查看當前 |
| 否 | 輸出格式,取值 |
| 否 | 將結果儲存到本地檔案。 |
樣本:
desc -t mytable更新表
更新資料表的配置,例如資料生命週期、最大版本數、預留輸送量等。
alter -t tableName [--ttl seconds] [--version max] [--read_cu n] [--write_cu n]參數 | 必填 | 說明 |
| 是 | 表名稱。如果已通過 |
| 否 | 資料生命週期,單位為秒。取值必須大於等於 86400(一天)或等於 -1(永不到期)。 |
| 否 | 最大版本數。取值必須為非 0 的整數。 |
| 否 | 預留讀/寫輸送量,單位為 CU。僅高效能型執行個體支援。 |
| 否 | |
| 否 | 是否開啟 Stream。 |
| 否 | Stream 資料到期時間,單位為小時。 |
| 否 | 是否禁止更新操作。 |
修改 TTL 為 1 天,最大版本數為 1:
alter -t mytable --ttl 86400 --version 1刪除表
刪除指定的資料表。
drop -t tableName [-y]參數 | 必填 | 說明 |
| 是 | 表名稱。 |
| 否 | 跳過確認提示直接刪除。 |
樣本:
drop -t mytable -y