表格存储Tablestore提供了管理控制台、命令行工具(Tablestore CLI)和Tablestore SDK三种访问方式。通过命令行工具,您可以使用简单的命令体验表格存储服务。本文介绍了如何通过Tablestore CLI管理宽表模型(WideColumn)。
步骤一:下载并启动命令行工具
- 根据所用平台下载命令行工具。
平台 下载地址 Windows Windows10 Linux macOS macOS - 解压缩下载的工具包,进入命令行工具根目录后,根据所用平台选择相应方式启动命令行工具。
- 对于Windows平台,双击ts.exe文件。
- 对于Linux和Mac平台,执行
./ts
命令。说明 如果在Linux系统或者Mac系统下无可执行权限,请执行chmod 755 ts
命令赋权后再启动命令行工具。
启动界面如下所示。# Welcome to use Command Line Tool for Aliyun Tablestore. Current Version is '2021-11-11'. # _______ _ _ _ # |__ __| | | | | | | # | | __ _ | |__ | | ___ ___ | |_ ___ _ __ ___ # | | / _' || '_ \ | | / _ \ / __|| __| / _ \ | '__| / _ \ # | || (_| || |_) || || __/ \__ \| |_ | (_) || | | __/ # |_| \__,_||_.__/ |_| \___| |___/ \__| \___/ |_| \___| # # Please visit our product website: https://www.aliyun.com/product/ots # You can also join our DingTalk Chat Group (ID: 11789671 or 23307953) to discuss and ask Tablestore related questions. # tablestore>
步骤二:开通表格存储服务
如果已经开通表格存储服务,请跳过此操作。服务仅需开通一次,开通过程免费。
- 通过config命令配置AccessKey信息。
重要 此处必须使用阿里云账号的AccessKey(包括AccessKey ID和AccessKey Secret)。关于获取AccessKey的具体操作,请参见获取AccessKey。
config --id NTSVLeBHzgX2iZfcaXXPJ**** --key 7NR2DiotscDbauohSq9kSHX8BDp99bjs7eNpCR7o****
- 执行
enable_service
命令,开通表格存储服务。
步骤三:创建实例
通过create_instance命令创建一个高性能实例。
执行以下命令,在华东1(杭州)地域创建myinstance实例,实例类型为高性能实例。
create_instance -d "First instance created by CLI." -n myinstance -r cn-hangzhou
步骤四:配置接入信息
通过config命令配置接入信息。
执行以下命令,使用已创建的myinstance实例配置接入信息。
config --endpoint https://myinstance.cn-hangzhou.ots.aliyuncs.com --instance myinstance --id NTSVLeBHzgX2iZfcaXXPJ**** --key 7NR2DiotscDbauohSq9kSHX8BDp99bjs7eNpCR7o****
步骤五:创建并使用数据表
创建数据表后,选择要进行操作的数据表,用于后续表操作或者数据操作。
- 执行以下命令,创建mytable数据表。
create -t mytable --pk '[{"c":"uid", "t":"string"}, {"c":"pid", "t":"integer"}]'
- 执行
use -t mytable
命令,使用mytable数据表。
步骤六:数据操作
根据需要进行数据操作,您可以插入一行数据、更新一行数据、读取一行数据或者删除一行数据。
- 插入一行数据
在数据表中插入一行数据。该行的第一主键列值为“86”,第二主键列值为6771,属性列有name(string类型)和country(string类型)两列。
put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]'
- 更新一行数据
更新第一主键列为“86”,第二主键列为6771的行数据。无论此行是否存在均会插入新数据,如果之前行已存在,则写入数据时会覆盖原有数据。
update --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]' --condition ignore
- 读取一行数据
读取第一主键列值为“86”,第二主键列值为6771的行数据。
get --pk '["86",6771]'
- 扫描数据
扫描获取数据表中的最多10行数据。
scan --limit 10
- 删除一行数据
删除第一主键列值为“86”,第二主键列值为6771的行数据。
delete --pk '["86", 6771]'
步骤七:使用SQL查询数据
SQL查询兼容MySQL的查询语法,同时提供基础的SQL DDL建表能力。对于已有数据表,通过执行CREATE TABLE一键自动建立映射关系后,您可以使用SQL方式访问表中数据。
如果要使用SQL语句快速查询表中数据,请执行以下步骤:
- 执行
sql
命令,进入SQL模式。 - 执行以下命令,为mytable数据表绑定映射关系。
说明 数据表与映射表的字段类型对应关系请参见数据类型映射。
CREATE TABLE `mytable` ( `uid` VARCHAR(1024), `pid` BIGINT(20), `b` DOUBLE, `c` BOOL, `d` MEDIUMTEXT, PRIMARY KEY(`uid`,`pid`) );
- 执行以下命令,查询mytable表中所有数据。
SELECT * FROM mytable;
如果要退出SQL模式,请执行exit;
命令。