簡體   English   中英

如何從MySQL中的表中刪除列

[英]How to delete a column from a table in MySQL

給定使用以下創建的表:

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

如何刪除列IsDeleted

ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

這是一個工作示例。

請注意, COLUMN關鍵字是可選的,因為 MySQL 將只接受DROP IsDeleted 此外,要刪除多列,您必須用逗號分隔它們並為每一列添加DROP

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;

這允許您在一個語句中對同一個表進行DROPADDALTER多個列。 來自MySQL 參考手冊

您可以在單個ALTER TABLE語句中發出多個ADDALTERDROPCHANGE子句,以逗號分隔。 這是標准 SQL 的 MySQL 擴展,每個ALTER TABLE語句只允許每個子句中的一個。

使用帶有DROP COLUMNALTER TABLE從表中刪除列,使用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;

要刪除單個列:

ALTER TABLE `table1` DROP `column1`;

要刪除多列:

ALTER TABLE `table1`
DROP `column1`,
DROP `column2`,
DROP `column3`;

要從表中刪除單個列,您可以使用:

ALTER TABLE table_name DROP COLUMN Column_name;

要刪除多個列,請執行以下操作:

ALTER TABLE table_name DROP COLUMN Column_name, DROP COLUMN Column_name;

從表中刪除列。

ALTER TABLE tbl_Country DROP COLUMN IsDeleted1, DROP COLUMN IsDeleted2;

或者沒有'COLUMN'字樣

ALTER TABLE tbl_Country DROP IsDeleted1, DROP IsDeleted2;

您可以使用

alter table <tblname> drop column <colname>
ALTER TABLE `tablename` DROP `columnname`;

要么,

ALTER TABLE `tablename` DROP COLUMN `columnname`;

如果您運行的是 MySQL 5.6 以上版本,您可以在線執行此操作,允許其他會話在執行操作時讀取和寫入您的表:

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

使用ALTER

ALTER TABLE `tbl_Country` DROP COLUMN `column_name`;
ALTER TABLE tbl_Country DROP columnName;
ALTER TABLE `tbl_Country` DROP `IsDeleted`;
ALTER TABLE table_name DROP COLUMN column_name

值得一提的是MySQL 8.0.23及以上版本支持Invisible Columns

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;

數據庫<>小提琴演示

在需要暫時“隱藏”列才能安全刪除列(如重新處理相應的應用程序/報告等)的情況下,它可能很有用。

當我們執行從表中刪除列的操作時,它會更改表的結構。 為了執行這種操作,我們需要使用數據定義語言(DDL)語句。 在這種情況下,我們必須使用ALTER語句。

ALTER - 改變數據庫的結構

查詢將是 -

alter table tbl_Country drop column IsDeleted;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM