Utilisez l'instruction TRUNCATE TABLE pour supprimer toutes les données d'une table ou de partitions spécifiques dans un cluster AnalyticDB for MySQL. Le schéma de la table est conservé.
Syntaxe
-
Supprimez toutes les données d'une table :
TRUNCATE TABLE db_name.table_name; -
Supprimez les données de partitions spécifiques d'une table :
TRUNCATE TABLE db_name.table_name PARTITION partition_name[,...];
Paramètres
|
Paramètre |
Description |
|
db_name |
Le nom de la base de données contenant la table. |
|
table_name |
Le nom de la table à vider. |
|
partition_name |
Le nom de la partition à vider. Dans AnalyticDB for MySQL, les noms de partition sont des valeurs BIGINT. Séparez plusieurs noms de partition par des virgules. Pour obtenir les noms de partition, consultez la section Interroger les noms de partition. |
Interroger les noms de partition
Pour lister tous les noms de partition d'une table, exécutez la commande suivante :
SELECT partition_name FROM information_schema.partitions WHERE table_name = 'your_table_name' ORDER BY partition_name DESC LIMIT 100;
Remarques sur l'utilisation
L'instruction
TRUNCATE TABLEne peut pas s'exécuter pendant une sauvegarde de base de données. Si vous l'exécutez durant une sauvegarde, le système renvoie une erreur.L'instruction
TRUNCATE TABLEne peut pas s'exécuter pendant l'exécution d'une tâche BUILD (un processus d'organisation des données en arrière-plan). Attendez la fin de la tâche BUILD, puis réexécutez l'instruction. Pour vérifier l'état d'une tâche BUILD, consultez la rubrique Afficher l'état d'une tâche BUILD.
Exemples
-
Supprimez toutes les données de la table
customerdans la base de donnéesadb_demo:TRUNCATE TABLE adb_demo.customer; -
Supprimez les données des partitions
20170103,20170104et20170108de la tablecustomerdans la base de donnéesadb_demo:TRUNCATE TABLE adb_demo.customer PARTITION 20170103,20170104,20170108;