如何从MySQL中的表中删除列

raj*_*aji 427 mysql ddl alter-table

给定使用以下表创建的表:

CREATE TABLE tbl_Country
(
  CountryId INT NOT NULL AUTO_INCREMENT,
  IsDeleted bit,
  PRIMARY KEY (CountryId) 
)
Run Code Online (Sandbox Code Playgroud)

如何删除列IsDeleted

Cyn*_*cal 696

ALTER TABLE tbl_Country DROP COLUMN IsDeleted;
Run Code Online (Sandbox Code Playgroud)

这是一个有效的例子.

请注意,COLUMN关键字是可选的,因为MySQL只接受DROP IsDeleted.此外,要删除多个列,您必须用逗号分隔它们并包含DROP每个列.

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;
Run Code Online (Sandbox Code Playgroud)

这允许您DROP,ADDALTER在一个声明中同一个表的多个列.从MySQL参考手册:

您可以发出多个ADD,ALTER,DROP,和CHANGE在一个单一的条款ALTER TABLE声明,以逗号分隔.这是标准SQL的MySQL扩展,每个ALTER TABLE语句只允许每个子句中的一个.


Sah*_*hah 92

使用ALTER TABLEDROP COLUMN从表中删除列,CHANGEMODIFY更改列.

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;
Run Code Online (Sandbox Code Playgroud)


ech*_*_Me 24

要删除列,请使用此项,

ALTER TABLE `tbl_Country` DROP `your_col`
Run Code Online (Sandbox Code Playgroud)


Kap*_*ath 15

您可以使用

alter table <tblname> drop column <colname>
Run Code Online (Sandbox Code Playgroud)


Avi*_*air 11

ALTER TABLE `tablename` DROP `columnname`;
Run Code Online (Sandbox Code Playgroud)

要么,

ALTER TABLE `tablename` DROP COLUMN `columnname`;
Run Code Online (Sandbox Code Playgroud)


小智 7

用途ALTER:

ALTER TABLE `tbl_Country` DROP COLUMN `column_name`;
Run Code Online (Sandbox Code Playgroud)


小智 7

如果您正在运行MySQL 5.6,则可以在线执行此操作,允许其他会话在执行操作时读取和写入表:

ALTER TABLE tbl_Country DROP COLUMN IsDeleted, ALGORITHM=INPLACE, LOCK=NONE;
Run Code Online (Sandbox Code Playgroud)


Ste*_*her 6

ALTER TABLE tbl_Country DROP columnName;
Run Code Online (Sandbox Code Playgroud)