Todos os produtos
Search
Central de documentação

Tablestore:SQL queries

Última atualização: Jul 03, 2026

Use o modo SQL na Tablestore CLI para gerenciar mapeamentos de tabelas e consultar ou modifique dados.

Pré-requisitos

Instruções SQL compatíveis

A Tablestore CLI é compatível com as seguintes instruções SQL. Para a sintaxe completa, consulte Consulta SQL.

Categoria

Instrução SQL

Descrição

DDL

CREATE TABLE

Crie um mapeamento para uma tabela de dados ou índice de busca.

ALTER TABLE

Adiciona ou remove colunas de atributo em uma tabela de mapeamento.

DROP MAPPING TABLE

Exclua o mapeamento de uma tabela.

DESCRIBE

Visualize o esquema de uma tabela de mapeamento.

DQL

SELECT

Consulta dados da tabela. Permite usar condições WHERE, funções de agregação, JOIN e LIMIT.

DBA

SHOW TABLES

Lista todas as tabelas de mapeamento na instância atual.

SHOW INDEX

Visualize detalhes do índice.

DML

INSERT

Grava dados. Aplica-se apenas a tabelas sem transação.

UPDATE

Atualize dados. Aplica-se apenas a tabelas sem transação. Especifique uma única linha com condições de igualdade em todas as colunas de chave primária.

DELETE

Exclua dados. Aplica-se apenas a tabelas sem transação. Especifique uma única linha com condições de igualdade em todas as colunas de chave primária.

Entrar e sair do modo SQL

Execute sql para entrar no modo SQL e exit; para retornar ao modo de comando.

sql

Ao entrar no modo SQL, a CLI exibe:

Enter 'SQL' mode, input 'exit;' if you want to quit into 'COMMAND' mode.

Crie um mapeamento

Tabelas de dados exigem um mapeamento para consultas SQL.

Nota

O mapeamento de tabelas de séries temporais é automático. Ignore o CREATE TABLE e execute SHOW TABLES para verifique.

CREATE TABLE mytable(
    `uid` VARCHAR(1024),
    `pid` BIGINT(20),
    `col1` BIGINT(20),
    `col2` MEDIUMTEXT,
    PRIMARY KEY(`uid`,`pid`)
);
Nota
  • Use VARCHAR exclusivamente para colunas de chave primária. Para colunas de atributo, use MEDIUMTEXT.

  • Para os mapeamentos entre tipos de dados SQL e do Tablestore, consulte Mapeamentos de tipo de dados em SQL.

Visualize tabelas de mapeamento

SHOW TABLES lista todas as tabelas de mapeamento na instância atual.

SHOW TABLES;

Saída de exemplo:

+----------------------+
| Tables_in_myinstance |
+----------------------+
| mytable              |
+----------------------+
| mytstable            |
+----------------------+
| mytstable::meta      |
+----------------------+

mytable é a tabela de mapeamento de uma tabela de dados. mytstable é uma tabela de dados de séries temporais e mytstable::meta é a tabela de metadados de séries temporais. Tanto as tabelas de séries temporais quanto suas tabelas de metadados aceitam consultas SQL.

Visualize detalhes da tabela de mapeamento

Para inspecionar os detalhes das colunas, execute DESCRIBE em uma tabela de mapeamento.

DESCRIBE mytable;

Saída de exemplo:

+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| uid   | varchar(1024) | NO | PRI | null    |       |
+-------+------------+------+-----+---------+-------+
| pid   | bigint(20) | NO   | PRI | null    |       |
+-------+------------+------+-----+---------+-------+
| col1  | bigint(20) | YES  |     | null    |       |
+-------+------------+------+-----+---------+-------+
| col2  | mediumtext | YES  |     | null    |       |
+-------+------------+------+-----+---------+-------+

Tabelas de séries temporais usam um esquema fixo de valor único:

DESCRIBE mytstable;
+-------------------+---------------+------+-----+---------+-------+
| Field             | Type          | Null | Key | Default | Extra |
+-------------------+---------------+------+-----+---------+-------+
| _m_name           | varchar(1000) | NO   | PRI | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _data_source      | varchar(1000) | NO   | PRI | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _tags             | varchar(1000) | NO   | PRI | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _time             | bigint(20)    | NO   | PRI | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _field_name       | varchar(1000) | YES  |     | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _long_value       | bigint(20)    | YES  |     | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _double_value     | double        | YES  |     | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _bool_value       | tinyint(1)    | YES  |     | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _string_value     | varchar(1000) | YES  |     | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _binary_value     | mediumblob    | YES  |     | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _attributes       | varchar(1000) | YES  |     | null    |       |
+-------------------+---------------+------+-----+---------+-------+
| _meta_update_time | bigint(20)    | YES  |     | null    |       |
+-------------------+---------------+------+-----+---------+-------+
Nota

Tabelas de séries temporais usam um modelo de valor único em que cada campo se expande para uma linha separada. Ao gravar uma linha com vários campos, cada um aparece como uma linha distinta no resultado da consulta SQL, com apenas uma coluna _*_value preenchida.

Visualize informações de índice

SHOW INDEX exibe os índices associados a uma tabela de mapeamento e seus detalhes de coluna.

SHOW INDEX FROM mytable;

Consultar dados

Use a instrução SELECT para consultar dados de uma tabela de mapeamento.

SELECT * FROM mytable;

Exemplos

  • Filtre por condições específicas.

    SELECT * FROM mytable WHERE uid = 'user001' AND pid = 1;
  • Conte o número de linhas.

    SELECT COUNT(*) FROM mytable;
  • Limite o número de linhas retornadas.

    SELECT * FROM mytable LIMIT 10;
  • Consulte dados de tabelas de séries temporais.

    SELECT * FROM mytstable LIMIT 10;
Nota

Após crie uma tabela de séries temporais, os dados iniciais levam cerca de um minuto para ficarem disponíveis para consulta. Dados adicionados a linhas do tempo existentes podem ser consultados imediatamente.

Gravar e modifique dados

No modo SQL, execute instruções INSERT, UPDATE e DELETE em tabelas sem transação. Para a sintaxe completa e restrições, consulte Operações DML.

Importante
  • Instruções DML aplicam-se somente a tabelas sem transação (tabelas criadas sem transações habilitadas).

  • UPDATE e DELETE exigem condições de igualdade em todas as colunas de chave primária para especifique uma única linha.

  • Tabelas de séries temporais não aceitam instruções DML (INSERT, UPDATE e DELETE). Para gravar dados de séries temporais, use o comando putts ou import_timeseries.

Exemplos

  • Insira uma linha.

    INSERT INTO mytable (uid, pid, col1) VALUES ('user001', 1, 100);
  • Atualize uma linha específica.

    UPDATE mytable SET col1 = 200 WHERE uid = 'user001' AND pid = 1;
  • Exclua uma linha específica.

    DELETE FROM mytable WHERE uid = 'user001' AND pid = 1;

Atualize colunas da tabela de mapeamento

Se você adicionar ou remover colunas de uma tabela de dados, use ALTER TABLE para atualize o mapeamento.

ALTER TABLE mytable ADD COLUMN col3 MEDIUMTEXT;

Exclua um mapeamento

Quando as colunas de atributo de uma tabela de dados mudarem, exclua o mapeamento e crie-o novamente.

Nota

O sistema gerencie automaticamente os mapeamentos de tabelas de séries temporais, que não podem ser excluídos com DROP MAPPING TABLE.

DROP MAPPING TABLE mytable;