Jak usunąć kolumnę z tabeli w MySQL

441

Biorąc pod uwagę tabelę utworzoną za pomocą:

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

Jak mogę usunąć kolumnę IsDeleted?

raji
źródło

Odpowiedzi:

713
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

Oto działający przykład.

Zauważ, że COLUMNsłowo kluczowe jest opcjonalne, ponieważ MySQL akceptuje tylko DROP IsDeleted. Ponadto, aby upuścić wiele kolumn, musisz oddzielić je przecinkami i dołączyć DROPdla każdego z nich.

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;

Pozwala to DROP, ADDi ALTERwiele kolumn w tej samej tabeli w rachunku jednego. Z podręcznika MySQL :

Można wydać wielokrotność ADD, ALTER, DROPoraz CHANGEklauzule w jednym ALTER TABLErachunku, rozdzielając je przecinkami. Jest to rozszerzenie MySQL do standardowego SQL, które dopuszcza tylko jedną z każdej klauzuli na ALTER TABLEinstrukcję.

Cyniczny
źródło
96

Użyj za ALTER TABLEpomocą, DROP COLUMNaby usunąć kolumnę z tabeli i CHANGElub MODIFYzmienić kolumnę.

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;
Saharsh Shah
źródło
Aby to zrobić, możesz użyć kolumny Zmień lub Modyfikuj. Sprawdź link, który da ci pomysł na aktualizację kolumny za pomocą ALTER TABLE
Saharsh Shah,
29

Aby usunąć kolumnę, użyj tego,

ALTER TABLE `tbl_Country` DROP `your_col`
echo_Me
źródło
16

Możesz użyć

alter table <tblname> drop column <colname>
Kapil Gopinath
źródło
12
ALTER TABLE `tablename` DROP `columnname`;

Lub,

ALTER TABLE `tablename` DROP COLUMN `columnname`;
Avinash Nair
źródło
11

Jeśli korzystasz z MySQL 5.6 lub nowszej, możesz wykonać tę operację online, umożliwiając innym sesjom odczytywanie i zapisywanie w tabeli podczas wykonywania operacji:

ALTER TABLE tbl_Country DROP COLUMN IsDeleted, ALGORITHM=INPLACE, LOCK=NONE;
A. Colonna
źródło
9

Użyj ALTER:

ALTER TABLE `tbl_Country` DROP COLUMN `column_name`;
Lo Juego
źródło
7
ALTER TABLE tbl_Country DROP columnName;
Sterling Archer
źródło