Tous les produits
Search
Centre de documentation

AnalyticDB:TRUNCATE TABLE

Dernière mise à jour :Aug 10, 2026

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 TABLE ne 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 TABLE ne 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 customer dans la base de données adb_demo :

    TRUNCATE TABLE adb_demo.customer;
  • Supprimez les données des partitions 20170103, 20170104 et 20170108 de la table customer dans la base de données adb_demo :

    TRUNCATE TABLE adb_demo.customer PARTITION 20170103,20170104,20170108;