建立資料表後,您可以使用表、查詢表資訊、列出表名稱、更新表以及刪除表。

说明 關於寬表模型的更多資訊,請參見寬表模型

建立表

建立一張資料表,同時指定資料表的主鍵、資料生命週期(TimeToLive)等。您也可以通過匯入JSON格式的設定檔來建立資料表。

命令格式

create -t tableName --pk '[{"c":"<primaryKeyName>", "t":"<primaryKeyType>"}, {"c":"<primaryKeyName>", "t":"<primaryKeyType>", "opt":"<options>"}]'--ttl <timeToLive> --version <maxVersion> 

配置項說明請參見下表。

配置項 是否必填 樣本值 說明
-m,--mode widecolumn 建立的表類型。取值範圍如下:
  • widecolumn(預設):資料表。
  • timeseries:時序表。
-t,--table mytable 資料表名稱。
-p,--pk [{"c":"uid","t":"string"}, {"c":"pid","t":"integer"}] 資料表主鍵列,以JSON格式的數組表示。包含如下欄位:
  • c(必選):主鍵列名稱。
  • t(必選):主鍵列類型,取值範圍為string、integer、binary。
  • opt(可選):可選配置,取值範圍為none和auto,預設值為none。當取值為auto時,表示該主鍵列為自增列。

    關於主鍵自增列的更多資訊,請參見主鍵列自增

注意 建立資料表時,屬性列不需要定義。Table Store每行的屬性列都可以不同,屬性列的列名在寫入資料時指定。關於寫入資料到資料表的具體操作,請參見資料操作

單表最多可設定4個主鍵,第一個主鍵預設為分區鍵。主鍵的配置及順序設定後不能修改。

--ttl 864000 資料表中資料的儲存時間。當資料的儲存時間超過設定的資料生命週期時,系統會自動清理超過資料生命週期的資料。單位為秒。

如果不設定此項,則預設值為-1,表示資料永不到期。

取值必須大於等於86400秒(一天)或者必須-1(資料永不到期)。

--version 1 資料表中的屬性列能夠保留資料的最大版本個數。當屬性列資料的版本個數超過設定的最大版本數時,系統會自動刪除較早版本的資料。

如果不設定此項,則預設值為1,表示只保留最新版本的資料。

取值必須為非0整數。

--read_cu 0 為資料表配置預留讀輸送量或預留寫輸送量。預設值均為0,即完全隨用隨付。單位為CU。

容量型執行個體中的資料表的預留讀/寫輸送量只能設定為0,不允許預留。

  • 當預留讀輸送量或預留寫輸送量大於0時,Table Store會根據配置為資料表預留相應資源,且資料表建立成功後,將會立即按照預留輸送量開始計費,超出預留的部分進行隨用隨付。
  • 當預留讀輸送量或預留寫輸送量設定為0時,Table Store不會為資料表預留相應資源。
--write_cu 0
-i,--input /tmp/create_table_meta.json 通過JSON格式的設定檔建立資料表。
您也可以通過設定檔建立表,命令格式如下:
  • Windows平台
    create -i D:\\localpath\\filename.json
  • Linux和Mac平台
    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
    }
}

樣本

建立名稱為mytable的資料表,該資料表有uid(string類型)和pid(integer類型)兩個主鍵列,表中資料永不到期。
create -t mytable --pk '[{"c":"uid", "t":"string"}, {"c":"pid", "t":"integer"}]'
建立名稱為mytable的資料表,該資料表有uid(string類型)和pid(integer類型)兩個主鍵列並設定第二主鍵列pid(integer類型)為自增列,表中資料永不到期。
create -t mytable --pk '[{"c":"uid", "t":"string"}, {"c":"pid", "t":"integer", "opt":"auto"}]'
建立名稱為mytable的資料表,該資料表有uid(string類型)和pid(integer類型)兩個主鍵列,表中資料在864000秒(即10天)後到期且只保留最新版本。
create -t mytable --pk '[{"C":"uid","t":"string"}, {"c":"pid","t":"integer"}]' --ttl 864000 --version 1

使用表

選擇需要進行操作的表,用於後續表操作或者資料操作。

命令格式

use --wc -t <tableName>

配置項說明請參見下表,

配置項 是否必填 樣本值 說明
--wc 不涉及 表示操作的表為資料表。
-t,--table mytable 資料表名稱。

樣本

使用mytable資料表。

use -t mytable

列出表名稱

列出執行個體下的所有表名稱、所有資料表名稱或者所有時序表名稱。

  • 列出與當前表類型相同的所有表名稱
    list
  • 列出所有表名稱
    list -a
  • 列出所有資料表名稱
    list -w
  • 列出所有時序表名稱
    list -t

配置項說明請參見下表。

配置項 是否必填 樣本值 說明
-a,--all 不涉及 列出所有表名稱。
-d,--detail 不涉及 列出表的詳細資料。
-w,--wc 不涉及 列出所有資料表名稱。
-t,--ts 不涉及 列出時序表名稱。

更新表

更新資料表的資料生命週期、最大版本數等資訊。

命令格式

alter -t <tableName> --ttl <timeToLive> --version <maxVersion> --read_cu <readCU> --write_cu <writeCU>

樣本

修改mytable資料表的資料生命週期為86400秒(即1天),最大版本數為1,且預留讀CU和預留寫CU均為0。

alter -t mytable --ttl 86400 --version 1 --read_cu 0 --write_cu 0

查看錶資訊

查看資料表的資訊。您也可以將表資訊儲存到本地JSON格式的檔案中。

命令格式

desc -t <tableName> -o /localpath/filename.json

配置項說明請參見下表。

配置項 是否必填 樣本值 說明
-t,--table mytable 資料表名稱。
-f,--print_format json 表資訊的輸出格式。取值範圍為json(預設)和table。
-o,--output /tmp/describe_table_meta.json 輸出表資訊到本地JSON格式的檔案中。

樣本

查看當前表的資訊。

desc
查詢當前表的資訊並將表資訊儲存到本地檔案describe_table_meta.json中。
desc -o  /tmp/describe_table_meta.json

刪除表

刪除不需要的表。

命令格式

drop -t <tableName> -y

配置項說明請參見下表。

配置項 是否必填 樣本值 說明
--t,--table mytable 資料表名稱。
-y,--yes 不涉及 顯示確認資訊。命令中必須帶有此配置項。

樣本

刪除mytable表。

drop -t mytable -y