Cette rubrique présente les instructions SQL courantes pour gérer les bases de données, les tables, les index et les données d'une instance PolarDB-X.
Ces opérations se classent en deux catégories :
DDL (Data Definition Language) — définit la structure des bases de données :
CREATE,ALTERetDROPpour les tables et les index.DML (Data Manipulation Language) — manipule les enregistrements de données :
INSERT,SELECT,UPDATEetDELETE.
Les exemples de cette rubrique utilisent des bases de données en mode Distributed Relational Database Service (DRDS). Pour plus d'informations sur les modes DRDS et AUTO, consultez Bases de données en mode AUTO et en mode DRDS.
Consulter les bases de données
Exécutez l'instruction suivante pour répertorier toutes les bases de données de l'instance PolarDB-X actuelle :
SHOW DATABASES;
Gérer les tables
Créer une table
PolarDB-X prend en charge les tables simples et les tables partitionnées par hachage.
Créer une table simple
CREATE TABLE single_tbl(
id int,
name varchar(30),
primary key(id)
);
Créer une table partitionnée par hachage
L'instruction ci-dessous crée une table partitionnée par hachage qui répartit les données entre les shards de la base de données selon la colonne id :
CREATE TABLE multi_db_single_tbl(
id int auto_increment,
name varchar(30),
primary key(id)
) dbpartition by hash(id);
Consulter la définition d'une table
Exécutez SHOW CREATE TABLE pour examiner l'instruction DDL ayant servi à créer une table :
-- 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;
Répertorier toutes les tables
SHOW TABLES;
Supprimer une table
La suppression d'une table peut entraîner des interruptions de service. Procédez avec prudence.
-- Drop a single table
DROP TABLE single_tbl;
-- Drop a hash-partitioned table
DROP TABLE multi_db_single_tbl;
Gérer les colonnes
Utilisez ALTER TABLE pour ajouter, modifier ou supprimer des colonnes.
Ajouter une colonne
ALTER TABLE multi_db_single_tbl ADD COLUMN textcol text;
Modifier le type de données d'une colonne
ALTER TABLE multi_db_single_tbl MODIFY COLUMN textcol varchar(40);
Supprimer une colonne
ALTER TABLE multi_db_single_tbl DROP COLUMN textcol;
Gérer les index locaux
Créer un index local
Utilisez l'une des instructions suivantes pour créer un index local sur la colonne name :
CREATE INDEX idx_name ON multi_db_single_tbl (name);
ALTER TABLE multi_db_single_tbl ADD INDEX idx_name(name);
Consulter les index
SHOW INDEX FROM multi_db_single_tbl;
Supprimer un index local
Utilisez l'une des instructions suivantes :
DROP INDEX idx_name ON multi_db_single_tbl;
ALTER TABLE multi_db_single_tbl DROP INDEX idx_name;
Manipuler les données d'une table
Insérer des données
Insérer une seule ligne
INSERT INTO multi_db_single_tbl (name) VALUES ('test_name');
Insérer plusieurs lignes en une seule instruction
INSERT INTO multi_db_single_tbl (name) VALUES ('test_name'), ('test_namexx');
Interroger des données
SELECT * FROM multi_db_single_tbl;
Mettre à jour des données
UPDATE multi_db_single_tbl SET name = 'zzz' WHERE id IN (100001, 100002, 100003, 100004);
Supprimer des données
DELETE FROM multi_db_single_tbl WHERE id = 100002;
Une instruction UPDATE ou DELETE sans clause WHERE affecte toutes les lignes de la table. Incluez toujours une clause WHERE, sauf si vous souhaitez opérer sur l'ensemble de la table.