TcaplusDB Client - select命令(查询本地索引)
TcaplusDB Client的使用方法参见文档。
1. 功能说明
根据用户指定某个本地索引的所有索引字段的值,查询该索引条目下的所有数据。支持整条数据的所有字段值或部分字段的值。如果没有匹配的记录,将会返回错误。
查询本地索引前,必须确保表中已经定义了相应的本地索引。
如果需要对查询到文件中的记录进行修改,再更新到服务端,请使用load命令。
请注意,对于List表,load命令会直接插入一条新记录,如果需要更新服务端的原有记录,请使用update命令并指定index。
请注意,保存查询结果的文件名不能以数字开头。
2. 启始版本
3.40.0
3. 命令语法
select index_key1, index_key2, key3, value1, value2 [into result.csv] from table [where index_key1 = 1 and index_key2 = "abc"] [\P] [\G] [\S] [using tdr] [encode]
select * [into result.xml] from table [where index_key1 = 1 and index_key2 = "abc"] using tdr [\P];
参数说明:
参数 | PB表 | TDR表 | 必填项 |
---|---|---|---|
table | 表格的名字 | 表格的名字 | 是 |
index_key | 索引字段名,必须指定所有索引字段的值 | 索引字段名,必须指定所有索引字段的值 | 是 |
key/value | 字段名 | 字段名 | 至少一个或 * |
\P | 打印时延数据 | 打印时延数据 | 否 |
\G | 竖排打印 | 竖排打印 | 否 |
\S | 从从副本读取数据 | 从从副本读取数据 | 否,不填默认从主副本读取数据 |
\N | 不打印字段名 | 不打印字段名 | 否,不填默认打印字段名 |
\A | 将查询结果追加写到结果文件 | 将查询结果追加写到结果文件 | 否,不填默认将查询结果覆盖写到结果文件 |
into | 输出数据到文件 | 输出数据到文件 | 否 |
using tdr | 不支持 | 如果需要使用该参数,则在启动TcaplusDB Client时,就要通过启动参数指定与目标表对应的TDR文件 | 否 |
encode | 不支持(回车字符或不可见字符已预处理) | 指定该参数后,导出命令会将含有回车字符或不可见字符的string类型字段值进行BASE64编码后,再输出 注意:只指定了 using tdr 参数时,该参数才生效 |
否 |
where语句中除了指定部分key,在3.55.0之后版本,还支持使用
AND
结合更灵活的过滤条件,见详细语法。
4. 命令示例
表定义详见示例表定义。
tcaplus> select * from test_table where gameid=1234 and itemid=12323;
+------+------+----------+------+----+-----+
|gameid|itemid|name |typeid|Data|uname|
+------+------+----------+------+----+-----+
|1234 |12323 |"testname"|0 |9 |"ab" |
+------+------+----------+------+----+-----+
1 records selectd, select time: 9802 us
tcaplus> select uname from test_table where gameid=1234 and itemid=12323;
+------+------+----------+-----+
|gameid|itemid|name |uname|
+------+------+----------+-----+
|1234 |12323 |"testname"|"ab" |
+------+------+----------+-----+
1 records selectd, select time: 9457 us
5. 常见错误
参考常见错误文档。
6. 相关文档
[TDR Generic表][C++ SDK]查询本地索引接口说明。
[TDR Generic表][Java SDK]查询本地索引接口说明。
[TDR Generic表][Go SDK]查询本地索引接口说明。
[PB Generic表][C++ SDK]查询本地索引接口说明。