[英]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;
這允許您在一個語句中對同一個表進行DROP
、 ADD
和ALTER
多個列。 來自MySQL 參考手冊:
您可以在單個
ALTER TABLE
語句中發出多個ADD
、ALTER
、DROP
和CHANGE
子句,以逗號分隔。 這是標准 SQL 的 MySQL 擴展,每個ALTER TABLE
語句只允許每個子句中的一個。
使用帶有DROP COLUMN
的ALTER TABLE
從表中刪除列,使用CHANGE
或MODIFY
更改列。
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.