Este tema describe las instrucciones SQL más comunes para gestionar bases de datos, tablas, índices y datos en una instancia de PolarDB-X.
Las operaciones se dividen en dos categorías:
DDL (Data Definition Language): define las estructuras de la base de datos. Incluye
CREATE,ALTERyDROPpara tablas e índices.DML (Data Manipulation Language): manipula los registros de datos. Abarca
INSERT,SELECT,UPDATEyDELETE.
Los ejemplos de este tema usan bases de datos en modo Distributed Relational Database Service (DRDS). Para obtener más información sobre el modo DRDS y el modo AUTO, consulte Databases in AUTO mode and DRDS mode.
Consultar bases de datos
Ejecute a continuación la instrucción que lista todas las bases de datos de la instancia actual de PolarDB-X:
SHOW DATABASES;
Gestionar tablas
Crear una tabla
PolarDB-X es compatible con tablas únicas y tablas particionadas por hash.
Crear una tabla única
CREATE TABLE single_tbl(
id int,
name varchar(30),
primary key(id)
);
Crear una tabla particionada por hash
La siguiente instrucción crea una tabla particionada por hash que distribuye los datos entre los fragmentos de la base de datos según la columna id:
CREATE TABLE multi_db_single_tbl(
id int auto_increment,
name varchar(30),
primary key(id)
) dbpartition by hash(id);
Consultar la definición de una tabla
Ejecute SHOW CREATE TABLE para revisar la instrucción DDL que se usó para crear una tabla:
-- 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 las tablas
SHOW TABLES;
Eliminar una tabla
Eliminar una tabla puede provocar interrupciones en el servicio. Proceda con precaución.
-- Drop a single table
DROP TABLE single_tbl;
-- Drop a hash-partitioned table
DROP TABLE multi_db_single_tbl;
Gestionar columnas
Utilice ALTER TABLE para agregar, modificar o eliminar columnas.
Agregar una columna
ALTER TABLE multi_db_single_tbl ADD COLUMN textcol text;
Cambiar el tipo de datos de una columna
ALTER TABLE multi_db_single_tbl MODIFY COLUMN textcol varchar(40);
Eliminar una columna
ALTER TABLE multi_db_single_tbl DROP COLUMN textcol;
Gestionar índices locales
Crear un índice local
Use cualquiera de las siguientes instrucciones para crear un índice local en la columna name:
CREATE INDEX idx_name ON multi_db_single_tbl (name);
ALTER TABLE multi_db_single_tbl ADD INDEX idx_name(name);
Consultar índices
SHOW INDEX FROM multi_db_single_tbl;
Eliminar un índice local
Utilice cualquiera de las siguientes instrucciones:
DROP INDEX idx_name ON multi_db_single_tbl;
ALTER TABLE multi_db_single_tbl DROP INDEX idx_name;
Trabajar con los datos de una tabla
Insertar datos
Insertar una sola fila
INSERT INTO multi_db_single_tbl (name) VALUES ('test_name');
Insertar varias filas en una sola instrucción
INSERT INTO multi_db_single_tbl (name) VALUES ('test_name'), ('test_namexx');
Consultar datos
SELECT * FROM multi_db_single_tbl;
Actualizar datos
UPDATE multi_db_single_tbl SET name = 'zzz' WHERE id IN (100001, 100002, 100003, 100004);
Eliminar datos
DELETE FROM multi_db_single_tbl WHERE id = 100002;
Una instrucción UPDATE o DELETE sin la cláusula WHERE afecta a todas las filas de la tabla. Incluya siempre una cláusula WHERE, a menos que necesite aplicar la operación a toda la tabla.