Este tópico aborda instruções SQL comuns para gerenciar bancos de dados, tabelas, índices e dados em uma instância do PolarDB-X.
As operações dividem-se em duas categorias:
DDL (Data Definition Language) — define estruturas de banco de dados:
CREATE,ALTEReDROPpara tabelas e índices.DML (Data Manipulation Language) — manipula registros de dados:
INSERT,SELECT,UPDATEeDELETE.
Os exemplos deste tópico usam bancos de dados no modo Distributed Relational Database Service (DRDS). Para obter detalhes sobre os modos DRDS e AUTO, consulte Bancos de dados no modo AUTO e no modo DRDS.
Visualize bancos de dados
Execute a instrução a seguir para listar todos os bancos de dados na instância atual do PolarDB-X:
SHOW DATABASES;
Gerencie tabelas
Crie uma tabela
O PolarDB-X oferece suporte a tabelas únicas e tabelas particionadas por hash.
Crie uma tabela única
CREATE TABLE single_tbl(
id int,
name varchar(30),
primary key(id)
);
Crie uma tabela particionada por hash
A instrução abaixo cria uma tabela particionada por hash que distribui dados entre shards de banco de dados com base na coluna id:
CREATE TABLE multi_db_single_tbl(
id int auto_increment,
name varchar(30),
primary key(id)
) dbpartition by hash(id);
Visualize a definição de uma tabela
Execute SHOW CREATE TABLE para inspecionar a instrução DDL usada na criação de uma tabela:
-- View definition of a single table
SHOW CREATE TABLE single_tbl;
-- View definition of a hash-partitioned table
SHOW CREATE TABLE multi_db_single_tbl;
Listar todas as tabelas
SHOW TABLES;
Exclua uma tabela
Excluir uma tabela pode causar interrupções no serviço. Prossiga com cautela.
-- Drop a single table
DROP TABLE single_tbl;
-- Drop a hash-partitioned table
DROP TABLE multi_db_single_tbl;
Gerencie colunas
Use ALTER TABLE para adicionar, modifique ou exclua colunas.
Adicionar uma coluna
ALTER TABLE multi_db_single_tbl ADD COLUMN textcol text;
Alterar o tipo de dados de uma coluna
ALTER TABLE multi_db_single_tbl MODIFY COLUMN textcol varchar(40);
Exclua uma coluna
ALTER TABLE multi_db_single_tbl DROP COLUMN textcol;
Gerencie índices locais
Crie um índice local
Use uma das instruções a seguir para criar um índice local na coluna name:
CREATE INDEX idx_name ON multi_db_single_tbl (name);
ALTER TABLE multi_db_single_tbl ADD INDEX idx_name(name);
Visualize índices
SHOW INDEX FROM multi_db_single_tbl;
Exclua um índice local
Use uma das instruções a seguir:
DROP INDEX idx_name ON multi_db_single_tbl;
ALTER TABLE multi_db_single_tbl DROP INDEX idx_name;
Trabalhar com dados da tabela
Inserir dados
Inserir uma única linha
INSERT INTO multi_db_single_tbl (name) VALUES ('test_name');
Inserir várias linhas em uma única instrução
INSERT INTO multi_db_single_tbl (name) VALUES ('test_name'), ('test_namexx');
Consultar dados
SELECT * FROM multi_db_single_tbl;
Atualize dados
UPDATE multi_db_single_tbl SET name = 'zzz' WHERE id IN (100001, 100002, 100003, 100004);
Exclua dados
DELETE FROM multi_db_single_tbl WHERE id = 100002;
Uma instrução UPDATE ou DELETE sem a cláusula WHERE afeta todas as linhas da tabela. Sempre inclua uma cláusula WHERE, exceto se pretender operar em toda a tabela.