Como excluir uma coluna de uma tabela no MySQL


441

Dada a tabela criada usando:

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

Como posso excluir a coluna IsDeleted?

Respostas:


713
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

Aqui está um exemplo de trabalho.

Observe que a COLUMNpalavra-chave é opcional, pois o MySQL aceitará apenas DROP IsDeleted. Além disso, para descartar várias colunas, você deve separá-las por vírgulas e incluir o DROPpara cada uma.

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;

Isso permite DROP, ADDe ALTERvárias colunas na mesma tabela na instrução one. No manual de referência do MySQL :

Você pode emitir múltiplos ADD, ALTER, DROP, e CHANGEcláusulas em uma única ALTER TABLEdeclaração, separados por vírgulas. Esta é uma extensão do MySQL para o SQL padrão, que permite apenas uma de cada cláusula por ALTER TABLEinstrução.


96

Use ALTER TABLEcom DROP COLUMNpara soltar uma coluna de uma tabela e CHANGEou MODIFYpara alterar uma coluna.

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;

Você pode usar a coluna Alterar ou Modificar para fazer o mesmo. Verifique o link que lhe dará a idéia de atualizar uma coluna usando ALTER TABLE
Saharsh Shah

29

Para excluir uma coluna, use isto,

ALTER TABLE `tbl_Country` DROP `your_col`


12
ALTER TABLE `tablename` DROP `columnname`;

Ou,

ALTER TABLE `tablename` DROP COLUMN `columnname`;

11

Se você estiver executando o MySQL 5.6 em diante, poderá fazer esta operação online, permitindo que outras sessões leiam e gravem na sua tabela enquanto a operação é executada:

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

9

Use ALTER:

ALTER TABLE `tbl_Country` DROP COLUMN `column_name`;

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.