Comment supprimer une colonne d'une table dans MySQL


441

Étant donné la table créée à l'aide de:

CREATE TABLE tbl_Country
(
  CountryId INT NOT NULL AUTO_INCREMENT,
  IsDeleted bit,
  PRIMARY KEY (CountryId) 
)

Comment supprimer la colonne IsDeleted?

Réponses:


713
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

Voici un exemple de travail.

Notez que le COLUMNmot-clé est facultatif, car MySQL acceptera juste DROP IsDeleted. De plus, pour supprimer plusieurs colonnes, vous devez les séparer par des virgules et inclure le DROPpour chacune.

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;

Cela vous permet de DROP, ADDet ALTERplusieurs colonnes sur la même table dans la seule instruction. Dans le manuel de référence MySQL :

Vous pouvez effectuer plusieurs opérations ADD, ALTER, DROPet les CHANGEclauses d'une seule ALTER TABLEdéclaration, séparés par des virgules. Il s'agit d'une extension MySQL du SQL standard, qui n'autorise qu'une seule de chaque clause par ALTER TABLEinstruction.


96

Utilisez ALTER TABLEavec DROP COLUMNpour supprimer une colonne d'un tableau et CHANGEou MODIFYpour modifier une colonne.

ALTER TABLE tbl_Country DROP COLUMN IsDeleted;
ALTER TABLE tbl_Country MODIFY IsDeleted tinyint(1) NOT NULL;
ALTER TABLE tbl_Country CHANGE IsDeleted IsDeleted tinyint(1) NOT NULL;

Vous pouvez utiliser la colonne Modifier ou Modifier pour faire de même. Consultez le lien qui vous donnera l'idée de mettre à jour une colonne en utilisant ALTER TABLE
Saharsh Shah

29

Pour supprimer une colonne, utilisez ceci,

ALTER TABLE `tbl_Country` DROP `your_col`


12
ALTER TABLE `tablename` DROP `columnname`;

Ou,

ALTER TABLE `tablename` DROP COLUMN `columnname`;

11

Si vous exécutez MySQL 5.6, vous pouvez effectuer cette opération en ligne, permettant à d'autres sessions de lire et d'écrire dans votre table pendant que l'opération est effectuée:

ALTER TABLE tbl_Country DROP COLUMN IsDeleted, ALGORITHM=INPLACE, LOCK=NONE;

9

Utilisation ALTER:

ALTER TABLE `tbl_Country` DROP COLUMN `column_name`;

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.