如何在MySQL中从表中删除列
给定使用以下方法创建的表:如何在MySQL中从表中删除列,mysql,ddl,alter-table,Mysql,Ddl,Alter Table,给定使用以下方法创建的表: CREATE TABLE tbl_Country ( CountryId INT NOT NULL AUTO_INCREMENT, IsDeleted bit, PRIMARY KEY (CountryId) ) 如何删除列IsDeleted ALTER TABLE tbl_Country DROP COLUMN IsDeleted; 一个有效的例子 请注意,列关键字是可选的,因为MySQL只接受DROP-IsDeleted。此外,要删除多个列,您必
CREATE TABLE tbl_Country
(
CountryId INT NOT NULL AUTO_INCREMENT,
IsDeleted bit,
PRIMARY KEY (CountryId)
)
如何删除列IsDeleted
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;
一个有效的例子
请注意,列
关键字是可选的,因为MySQL只接受DROP-IsDeleted
。此外,要删除多个列,您必须用逗号将它们分开,并为每个列包含drop
ALTER TABLE tbl_Country
DROP COLUMN IsDeleted,
DROP COLUMN CountryName;
这允许您在一条语句中删除
,添加
和更改
同一表中的多个列。从:
您可以在单个ALTER TABLE
语句中发出多个ADD
、ALTER
、DROP
和CHANGE
子句,并用逗号分隔。这是对标准SQL的MySQL扩展,每个ALTERTABLE
语句只允许一个子句
要删除列,请使用此
ALTER TABLE `tbl_Country` DROP `your_col`
使用
ALTER
:
ALTER TABLE`tbl\u Country`DROP COLUMN`COLUMN\u name`;
或者
你可以用
alter table <tblname> drop column <colname>
altertabledrop列
与删除列
一起使用可从表中删除列,与更改
或修改
一起使用可更改列
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;
如果您运行的是MySQL 5.6以后的版本,则可以在线执行此操作,在执行此操作时允许其他会话读取和写入您的表:
ALTER TABLE tbl_Country DROP COLUMN IsDeleted, ALGORITHM=INPLACE, LOCK=NONE;
值得一提的是,MySQL 8.0.23及以上版本支持
在需要暂时“隐藏”某个列才能安全删除(如重新编写相应的应用程序/报告等)的情况下,它可能很有用。您可以使用“更改”或“修改”列来执行相同的操作。检查该链接,该链接将为您提供使用ALTER TABLE更新列的想法。它也适用于带有
保留字的列,如顺序
alter table <tblname> drop column <colname>
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;
ALTER TABLE tbl_Country DROP COLUMN IsDeleted, ALGORITHM=INPLACE, LOCK=NONE;
CREATE TABLE tbl_Country(
CountryId INT NOT NULL AUTO_INCREMENT,
IsDeleted bit,
PRIMARY KEY (CountryId)
);
INSERT INTO tbl_Country VALUES (1, 1), (2,0);
ALTER TABLE tbl_Country ALTER COLUMN IsDeleted SET INVISIBLE;
SELECT * FROM tbl_Country;
CountryId
1
2
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;