市面上大多數資料庫都支援指令行通路,TcaplusDB也不例外,通過安裝TcaplusDB用戶端,您可以友善快捷地從指令行管理與通路資料庫。
TcaplusDB用戶端
首先在 TcaplusServiceApi3.36下載下傳最新的TcaplusDB API 3.36程式包并解壓該檔案,該步驟應在安裝TcaplusDB應用程式的同一VPC中的CVM上執行所有操作。安裝用戶端指令如下:
# 解壓TcaplusDB API包
tar -zxvf TcaplusServiceApi3.36.0.192960.x86_64_release_20200115.tar.gz
# 重命名TcaplusDB目錄
mv TcaplusServiceApi3.36.0.192960.x86_64_release_20200115 TcaplusDBServiceApi3.0
# 找到TcaplusDB用戶端
cd TcaplusDBServiceApi3.0/release/x86_64/bin
# 連接配接TcaplusDB應用
./tcaplus_client -a {APP ID} -z {ZONE ID} -s {TcaplusDB PASSWORD} -d {Tcapdir IP}:{Tcapdir PORT}
# 例子:
./tcaplus_client -a 21 -z 1 -s "Changeme12" -d 10.0.0.2:9999
上述指令中TcaplusDB_client連接配接參數擷取方式如下:
1) 在騰訊雲打開表控制台,進入叢集清單頁面, 從頁面擷取Tcapdir IP(對應: Private Address/内網位址), Tcapdir PORT(對應:Private Port/内網端口),擷取Zone ID (對應頁面 : Table Group ID/表格組ID) 。
2) 點選上述截圖的叢集ID,進入應用詳情頁面, 擷取 APP ID(對應: Access ID/接入ID), 以及TcaplusDB password(對應:Connection Password/連接配接密碼)。 具體截圖如下所示:
TcaplusDB用戶端指令
TcaplusDB提供了一種類似SQL的查詢語言,使您能像使用關系資料庫一樣操作TcaplusDB表。
指令 | 含義 |
desc {table name} | 描述表字段 |
count {table_name} | 傳回表記錄數目 |
clean {table_name} | 清空(truncate)表, 此操作高度敏感,需要開白使用 |
select | 查詢表記錄,示例: select * from BattleInfo where game_id = 100 and area_id=200 \G; \G标記符類似MySQL指令行格式化查詢輸出 |
update | 更新表記錄,若該記錄不存在,則會插入該條記錄,示例: update BattleInfo set player_number = 10 where game_id = 100 and area_id=200; |
delete | 删除1條或多條記錄,where語句需指定全部主鍵字段或索引字段。示例: delete from BattleInfo where game_id = 100 and area_id=200; |
dump | 周遊表并将資料導出到文本檔案,示例:dump * from BattleInfo into BattleInfo.csv; |
load | 從文本檔案導入資料到表,示例:load BattleInfo from BattleInfo.csv; |
注意: 使用tcaplus_client在操作PB類型(protobuf)的表時有一些限制,如下所示:
- load: 不支援, 預計Q2支援;
- select:部分不支援,預計Q2支援,如下:
- 基于索引字段作為where查詢條件暫不支援;
- select *不支援顯示嵌套字段的值, 需要用點分模式指定嵌套字段才行如select pay.amount from …;
- update: 部分不支援,對于repeated類型的字段無法用update 更新插入;
- insert: 暫不支援, 可用update替代,預計Q2支援。
您可以通過運作help或help +指令獲得更多的TcaplusDB文法。 請注意,上表中未列出的指令正在逐漸淘汰或不建議使用。
tcaplus_client指令支援詳情:
tcaplus_client指令幫助示例: