Tous les produits
Search
Centre de documentation

AnalyticDB:ALTER TABLE (tables externes)

Dernière mise à jour :Aug 10, 2026

Utilisez l'instruction ALTER TABLE pour modifier le schéma d'une table externe dans AnalyticDB for MySQL. Les opérations prises en charge incluent l'ajout, la suppression, le renommage et la modification de colonnes, ainsi que l'ajout et la suppression de partitions sur les tables externes partitionnées Object Storage Service (OSS).

Cette rubrique s'applique uniquement aux tables externes. Pour connaître la syntaxe ALTER TABLE applicable aux tables internes AnalyticDB for MySQL, consultez la page ALTER TABLE.

Prérequis

Avant de commencer, assurez-vous de disposer :

  • D'un cluster AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition

Colonnes

Important

Toutes les opérations sur les colonnes nécessitent la version V3.2.1.0 ou ultérieure du cluster. Pour afficher et mettre à jour la version mineure de votre cluster, connectez-vous à la console AnalyticDB for MySQL et accédez à la section Configuration Information de la page Cluster Information. Pour plus d'informations, consultez la page Update the minor version of a cluster.

Le tableau suivant récapitule les opérations sur les colonnes prises en charge et leurs contraintes :

Opération Prise en charge Notes
Ajouter une colonne non clé primaire Oui Utilisez ADD COLUMN.
Ajouter une colonne clé primaire Non Vous ne pouvez pas ajouter de colonnes clés primaires à une table externe existante.
Supprimer une colonne non clé primaire Oui Utilisez DROP COLUMN.
Supprimer une colonne clé primaire Non Vous ne pouvez pas supprimer de colonnes clés primaires d'une table externe existante.
Renommer une colonne Oui Utilisez RENAME COLUMN.
Modifier le type de données d'une colonne Oui Utilisez MODIFY COLUMN.
Modifier la valeur par défaut d'une colonne Oui Utilisez MODIFY COLUMN ... DEFAULT.
Modifier le commentaire d'une colonne Oui Utilisez MODIFY COLUMN ... COMMENT.

Ajouter une colonne

Syntaxe

ALTER TABLE db_name.table_name ADD [COLUMN]
  {column_name column_type [DEFAULT {constant|CURRENT_TIMESTAMP}|AUTO_INCREMENT] [NULL|NOT NULL] [COMMENT 'comment']
  | (column column_type [DEFAULT {constant|CURRENT_TIMESTAMP}|AUTO_INCREMENT] [NULL|NOT NULL] [COMMENT 'comment'],...)}

Remarques d'utilisation

Vous ne pouvez pas ajouter de colonnes clés primaires.

Exemples

Ajoutez une colonne VARCHAR nommée province à la table osstest1 :

ALTER TABLE osstest1 ADD COLUMN province VARCHAR COMMENT 'Province';

Ajoutez simultanément deux colonnes à la table osstest1 : une colonne Boolean nommée vip et une colonne VARCHAR nommée tags avec une valeur par défaut :

ALTER TABLE osstest1 ADD COLUMN (vip BOOLEAN COMMENT 'VIP', tags VARCHAR DEFAULT 'None' COMMENT 'Tags');

Supprimer une colonne

Syntaxe

ALTER TABLE db_name.table_name DROP [COLUMN] column_name

Remarques d'utilisation

Vous ne pouvez pas supprimer de colonnes clés primaires.

Exemple

Supprimez la colonne province de la table osstest1 :

ALTER TABLE osstest1 DROP COLUMN province;

Renommer une colonne

Syntaxe

ALTER TABLE table_name RENAME COLUMN column_name to new_column_name

Exemple

Renommez la colonne city_name de la table osstest1 en city :

ALTER TABLE osstest1 RENAME COLUMN city_name to city;

Modifier le type de données d'une colonne

Syntaxe

ALTER TABLE table_name MODIFY [COLUMN] column_name new_column_type

Exemple

Modifiez le type de données de la colonne age de la table osstest1 de INT vers BIGINT :

ALTER TABLE osstest1 MODIFY COLUMN age BIGINT;

Modifier la valeur par défaut d'une colonne

Syntaxe

ALTER TABLE table_name MODIFY [COLUMN] column_name column_type DEFAULT constant|CURRENT_TIMESTAMP

Exemple

Définissez la valeur par défaut de la colonne sex de la table osstest1 sur 0 :

ALTER TABLE osstest1 MODIFY COLUMN sex INT DEFAULT 0;

Modifier le commentaire d'une colonne

Syntaxe

ALTER TABLE table_name MODIFY [COLUMN] column_name column_type COMMENT 'new_comment'

Exemple

Mettez à jour le commentaire de la colonne region de la table osstest1 :

ALTER TABLE osstest1 MODIFY COLUMN region VARCHAR COMMENT 'region';

Partitions

Important

Les opérations sur les partitions ci-dessous s'appliquent uniquement aux tables externes partitionnées OSS. La version V3.1.8.0 ou ultérieure du cluster est requise. Pour afficher et mettre à jour la version mineure de votre cluster, connectez-vous à la console AnalyticDB for MySQL et accédez à la section Configuration Information de la page Cluster Information. Pour plus d'informations, consultez la page Update the minor version of a cluster.

Utilisez ALTER TABLE ADD PARTITION pour ajouter manuellement une partition ou une partition multiniveau. Pour permettre à AnalyticDB for MySQL d'analyser un chemin OSS et d'enregistrer automatiquement les partitions, utilisez plutôt MSCK REPAIR TABLE.

Ajouter une partition

Syntaxe

ALTER TABLE table_name ADD PARTITION (partition_key=value[,...]) LOCATION 'location';

Paramètres

Paramètre Description
table_name Le nom de la table externe.
(partition_key=value[,...]) La partition à enregistrer. Pour ajouter une partition multiniveau, spécifiez plusieurs paires partition_key=value séparées par des virgules. Exemple : (date='20230613', city='hangzhou').
location Le chemin OSS des données de partition. Par exemple, si la partition est p1='20230613' et que le chemin de l'objet est oss://testBucketName/testfolder/p1=20230613/data.csv, définissez ce paramètre sur oss://testBucketName/testfolder/.

Exemples

Ajoutez une partition unique :

ALTER TABLE adb_external_db.partition_table ADD PARTITION (p1='20230613') LOCATION 'oss://testBucketName/testfolder/p1=20230613/';

Ajoutez une partition multiniveau :

ALTER TABLE adb_external_db.partition_table ADD PARTITION (p1='20230613', p2='hangzhou') LOCATION 'oss://testBucketName/testfolder/p1=20230613/p2=hangzhou';

Supprimer une partition

Syntaxe

ALTER TABLE table_name DROP PARTITION (partition_key=value[,...]);

Paramètres

Paramètre Description
table_name Le nom de la table externe.
(partition_key=value[,...]) La partition à supprimer. Pour supprimer une partition multiniveau, spécifiez plusieurs paires partition_key=value séparées par des virgules. Exemple : (date='20230613', city='hangzhou').

Exemples

Supprimez une partition unique :

ALTER TABLE adb_external_db.partition_table DROP PARTITION (p1='20230613');

Supprimez une partition multiniveau :

ALTER TABLE adb_external_db.partition_table DROP PARTITION (p1='20230613', p2='hangzhou');

Étapes suivantes