建立資料表後,您可以通過命令列工具在資料表中插入新資料、更新一行資料、讀取資料、刪除一行資料、掃描資料以及匯入匯出資料。
插入新資料
在表中插入新資料。您也可以通過匯入JSON格式的設定檔來插入新資料到表中。
命令格式
put --pk '[primaryKeyValue, primaryKeyValue]' --attr '[{"c":"attributeColumnName", "v":"attributeColumnValue"}, {"c":"attributeColumnName", "v":"attributeColumnValue", "ts":timestamp}]' --condition condition
配置項說明請參見下表。
參數 | 是否必填 | 樣本值 | 說明 |
-k,--pk | 是 | ["86", 6771] | 資料表主鍵的值,以數組表示。 重要
|
-a,--attr | 是 | [{"c":"name", "v":"redchen"}, {"c":"country", "v":"china", "t":"string", "ts":15327798534}] | 資料表屬性列,以JSON格式的數組表示。每個屬性列包含如下欄位:
|
--condition | 否 | ignore | 使用條件更新,可以設定原行的存在性條件。取值範圍如下:
關於條件更新的更多資訊,請參見條件更新。 |
-i, --input | 否 | /temp/inputdata.json | 通過JSON格式的設定檔插入資料。 |
您也可以通過設定檔插入資料,命令格式如下:
Windows平台
put -i D:\\localpath\\filename.json
Linux和Mac平台
put -i /localpath/filename.json
設定檔的樣本如下:
{
"PK":{
"Values":[
"86",
6771
]
},
"Attr":{
"Values":[
{
"C":"age",
"V":32,
"TS":1626860801604,
"IsInt":true
}
]
}
}
樣本
樣本1
以下樣本用於在資料表中插入一行資料。該行的第一主鍵列值為“86”,第二主鍵列值為6771,屬性列有name(string類型)和country(string類型)兩列。
put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]'
樣本2
以下樣本用於在資料表中插入一行資料。該行的第一主鍵列值為“86”,第二主鍵列值為6771,屬性列有name(string類型)和country(string類型)兩列。無論此行是否存在均會插入新資料,如果之前行已存在,則寫入資料時會覆蓋原有資料。
put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]' --condition ignore
樣本3
以下樣本用於在資料表中插入一行資料。該行的第一主鍵列值為“86”,第二主鍵列值為6771,屬性列有name(string類型)和country(string類型)兩列,並且country列的時間戳記為15327798534。
put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china", "t":"string", "ts":15327798534}]'
樣本4
當資料表中第二主鍵列為自增列時,以下樣本用於在資料表中插入一行資料。該行的第一主鍵列值為“86”,第二主鍵列值為null,屬性列有name(string類型)和country(string類型)兩列。
put --pk '["86", null]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]'
讀取資料
讀取表中的資料。您也可以將讀取的資料匯出到本地JSON格式的檔案中。
如果讀取的資料行不存在,則返回結果為空白。
命令格式
get --pk '[primaryKeyValue,primaryKeyValue]'
配置項說明請參見下表。
配置項 | 是否必填 | 樣本值 | 說明 |
-k,--pk | 是 | ["86",6771] | 資料表主鍵的值,以數組表示。 重要 設定的主鍵個數和類型必須和資料表的主鍵個數和類型一致。 |
-c,--columns | 否 | name,uid | 讀取的列集合,列名可以是主鍵列或屬性列。如果不設定返回的列名,則返回整行資料。 |
--max_version | 否 | 1 | 最多讀取的版本數。 |
--time_range_start | 否 | 1626860469000 | 讀取版本號碼範圍內的資料。time_range_start和time_range_end分別表示起始時間戳記和結束時間戳記,範圍為左閉右開區間。 |
--time_range_end | 否 | 1626865270000 | |
--time_range_specific | 否 | 1626862870000 | 讀取特定版本號碼的資料。 |
-o, --output | 否 | /tmp/querydata.json | 輸出查詢結果到本地JSON格式的檔案中。 |
樣本
以下樣本用於讀取第一主鍵列值為“86”,第二主鍵列值為6771的行資料。
get --pk '["86",6771]'
更新一行資料
更新表中的資料。您也可以通過匯入JSON格式的設定檔來更新表中資料。
命令格式
update --pk '[primaryKeyValue, primaryKeyValue]' --attr '[{"c":"attributeColumnName", "v":"attributeColumnValue"}, {"c":"attributeColumnName", "v":"attributeColumnValue", "ts":timestamp}]' --condition condition
配置項說明請參見下表。
參數 | 是否必填 | 樣本值 | 說明 |
-k,--pk | 是 | ["86", 6771] | 資料表主鍵的值,以數組表示。 重要 設定的主鍵個數和類型必須和資料表的主鍵個數和類型一致。 |
--attr | 是 | [{"c":"name", "v":"redchen"}, {"c":"country", "v":"china", "ts":15327798534}] | 資料表屬性列,以JSON格式的數組表示。每個屬性列包含如下欄位:
|
--condition | 否 | ignore | 使用條件更新,可以設定原行的存在性條件。取值範圍如下:
關於條件更新的更多資訊,請參見條件更新。 |
-i, --input | 否 | /tmp/inputdata.json | 通過JSON格式的設定檔更新資料。 |
您也可以通過設定檔更新資料,命令格式如下:
Windows平台
update -i D:\\localpath\\filename.json
Linux和Mac平台
update -i /localpath/filename.json
設定檔的樣本如下:
{
"PK":{
"Values":[
"86",
6771
]
},
"Attr":{
"Values":[
{
"C":"age",
"V":32,
"TS":1626860801604,
"IsInt":true
}
]
}
}
樣本
以下樣本用於更新第一主鍵列為“86”,第二主鍵列為6771的行資料。無論此行是否存在均會插入新資料,如果之前行已存在,則寫入資料時會覆蓋原有資料。
update --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]' --condition ignore
刪除一行資料
根據主鍵刪除一行資料。
命令格式
delete --pk '[primaryKeyValue,primaryKeyValue]'
配置項說明請參見下表。
參數 | 是否必填 | 樣本值 | 說明 |
-k,--pk | 是 | ["86", 6771] | 資料表主鍵的值,以數組表示。 重要 設定的主鍵個數和類型必須和資料表的主鍵個數和類型一致。 |
樣本
以下樣本用於刪除第一主鍵列值為“86”,第二主鍵列值為6771的行資料。
delete --pk '["86", 6771]'
掃描資料
掃描擷取整表中所有資料或者擷取最多指定個數的行資料。
命令格式
scan --limit limit
配置項說明請見下表。
配置項 | 是否必填 | 樣本值 | 說明 |
--limit | 否 | 10 | 本次掃描返回的最大行數,可不配置。如果不設定此項,則表示掃描整表中所有資料。 |
樣本
以下樣本用於掃描擷取資料表中的最多10行資料。
scan --limit 10
匯出資料
匯出表中資料到本地JSON檔案中。
命令格式
scan -o /localpath/filename.json -c attributeColumnName,attributeColumnName,attributeColumnName
配置項說明請參見下表。
配置項 | 是否必填 | 樣本值 | 說明 |
-c, --columns | 是 | uid,name | 匯出的列集合,列名可以是主鍵列或屬性列。如果不設定列名,則匯出整行資料。 |
--max_version | 否 | 1 | 最多匯出的版本數。 |
--time_range_start | 否 | 1626865596000 | 匯出版本號碼範圍內的資料。time_range_start和time_range_end分別表示起始時間戳記和結束時間戳記,範圍為前閉後開區間。 |
--time_range_end | 否 | 1626869196000 | |
--time_range_specific | 否 | 1626867396000 | 匯出特定版本號碼的資料。 |
--backward | 否 | 不涉及 | 匯出資料按照主鍵降序排列。 |
-o, --output | 是 | /tmp/mydata.json | 輸出查詢結果到本地指定路徑的JSON格式檔案中。 |
-l,--limit | 否 | 10 | 本次查詢最多返回的行數。 |
-b,--begin | 否 | '["86", 6771]' | 匯出範圍起始點和結束點之間的資料。主鍵範圍為前閉後開的區間。 說明
|
-e,--end | 否 | '["86", 6775]' |
樣本
樣本1
以下樣本用於匯出當前表中全部資料到本地檔案mydata.json。
scan -o /tmp/mydata.json
樣本2
以下樣本用於匯出當前表中uid和name列的資料到本地檔案mydata.json。
scan -o /tmp/mydata.json -c uid,name
樣本3
以下樣本用於匯出當前表中在指定主鍵範圍內的資料到本地檔案mydata.json。其中起始點的第一主鍵列為“86”,第二主鍵列為6771,結束點的第一主鍵列為“86”,第二主鍵列為6775。
scan -o D:\\0testreport\\mydata.json -b '["86", 6771]' -e '["86", 6775]'
樣本4
以下樣本用於匯出當前表中在指定主鍵範圍內的資料到本地檔案mydata.json。其中第一主鍵列為“50”到“100”的資料,第二主鍵列不指定範圍。
scan -o /tmp/mydata.json -b '["50",null]' -e '["100",null]'
匯入資料
匯入本地JSON檔案中的資料到表中。
如果本地JSON檔案所在路徑中存在漢字,則匯入資料時會出錯。
命令格式
import -i /localpath/filename.json --ignore_version
配置項說明請參見下表。
配置項 | 是否必填 | 樣本值 | 說明 |
-a,--action | 否 | put | 匯入資料的模式。取值範圍如下:
|
-i, --input | 是 | /tmp/inputdata.json | 通過JSON格式的本地檔案匯入資料到當前表。 |
--ignore_version | 否 | 不涉及 | 忽略時間戳記檢查,使用目前時間作為時間戳記。 |
本地檔案的配置樣本如下:
{"PK":{"Values":["redchen",0]},"Attr":{"Values":[{"C":"country","V":"china0"},{"C":"name","V":"redchen0"}]}}
{"PK":{"Values":["redchen",1]},"Attr":{"Values":[{"C":"country","V":"china1"},{"C":"name","V":"redchen1"}]}}
樣本
樣本1
以下樣本用於匯入mydata.json檔案的資料到當前表。
import -i /tmp/mydata.json
樣本2
以下樣本用於匯入mydata.json檔案的資料到當前表,且使用目前時間作為時間戳記。
import -i /tmp/mydata.json --ignore_version