SQL 如何删除表格中的列
本文描述了如何在结构化查询语言中从表格中删除一个或多个列。
SQL中的ALTER命令可以删除SQL表中的单个和多个列。它允许数据库用户修改数据库中创建的表的结构。
删除表中的单个列的语法如下所示:
ALTER TABLE Table_Name DROP Column_Name;
删除表中多列的语法如下:
ALTER TABLE Table_Name DROP Column_Name1, Column_Name2, ......, Column_NameN;
我们必须在ALTER命令中使用DROP关键字来删除表中的一个或多个列。
如果要从表中删除列,您必须按照以下步骤依次进行:
- 在系统中创建一个数据库。
- 在数据库中创建一个表并将数据插入表中。
- 在列删除之前显示表。
- 从表中删除单个列。
- 在删除后显示表。
现在,我们用一个例子来解释上述步骤:
步骤1:创建一个数据库
在结构化查询语言中,创建一个数据库是将结构化表存储在数据库中的第一步。
使用以下SQL语法创建一个数据库:
CREATE DATABASE Database_Name;
假设你想创建一个 Vehicles 数据库。为此,你需要使用结构化查询语言(Structured Query Language)编写以下的CREATE命令:
CREATE DATABASE Vehicles;
步骤2:创建表并插入数据
现在,您必须使用以下语法在SQL数据库中创建表:
CREATE TABLE table_name
(
column_Name1 data type (size of the column),
column_Name2 data type (size of the column),
column_Name3 data type (size of the column),
...
column_NameN data type (size of the column)
);
假设你想在 Vehicles 数据库中创建 Cars 表。为此,您必须在SQL应用程序中编写以下CREATE表查询:
CREATE TABLE Cars
(
Car_Number Int,
Model Int,
Cars_Name Varchar (20),
Colour Varchar (20),
Price Int,
Average Int,
) ;
在创建表之后,您需要使用以下SQL查询将汽车数据插入到 Cars 表中:
INSERT INTO Cars VALUES (1, 2017, Audi, Black, 4800000, 9),
(2, 2018, BMW, Black, 2900000, 12),
(3, 2019, Creta, Blue, 2000000, 14),
(4, 2020, Scorpio, Black, 1900000, 10),
(5, 2018, Mercedes, Grey, 4500000, 10),
(6, 2017, Venue, Yellow, 900000, 15),
(7, 2019, Thar, Red, 1500000, 12),
(8, 2020, Audi, Black, 7000000, 8),
(9, 2019, Creta, Orange, 1500000, 12),
(10, 2020, Verna, Black, 1400000, 12),
(11, 2018, Thar, Red, 1550000, 11),
(12, 2020, MG Hector, Black, 1900000, 11);
步骤3:查看插入的数据
在创建表格和插入数据之后,您可以通过在SQL应用程序中输入以下查询来查看插入的 Cars 表的数据:
SELECT * FROM Cars;
Car_Number | Model | Car_Name | Color | Price | Average |
---|---|---|---|---|---|
1 | 2017 | Audi | Black | 4800000 | 49 |
2 | 2018 | BMW | Black | 2900000 | 50 |
3 | 2019 | Creta | Blue | 2000000 | 45 |
4 | 2020 | Scorpio | Black | 1900000 | 45 |
5 | 2018 | Mercedes | Grey | 4500000 | 50 |
6 | 2017 | Venue | Yellow | 900000 | 35 |
7 | 2019 | Thar | Red | 1500000 | 45 |
8 | 2020 | Audi | Black | 7000000 | 40 |
9 | 2019 | Creta | Orange | 1500000 | 40 |
10 | 2020 | Verna | Black | 1400000 | 35 |
11 | 2018 | Thar | Red | 1550000 | 30 |
12 | 2020 | MG Hector | Black | 1900000 | 25 |
步骤4:从表中删除单个列
如果你想从上述 Cars 表中删除 Color 列,请在SQL数据库中执行以下ALTER查询:
ALTER TABLECars DROP Color;
步骤5: 删除后查看表格
在第四步执行的查询结果 **中, 第四 步, 你需要在SQL中输入以下SELECT命令来检查结果:
SELECT * FROM Cars;
Car_Number | Model | Car_Name | Price | Average |
---|---|---|---|---|
1 | 2017 | Audi | 4800000 | 49 |
2 | 2018 | BMW | 2900000 | 50 |
3 | 2019 | Creta | 2000000 | 45 |
4 | 2020 | Scorpio | 1900000 | 45 |
5 | 2018 | Mercedes | 4500000 | 50 |
6 | 2017 | Venue | 900000 | 35 |
7 | 2019 | Thar | 1500000 | 45 |
8 | 2020 | Audi | 7000000 | 40 |
9 | 2019 | Creta | 1500000 | 40 |
10 | 2020 | Verna | 1400000 | 35 |
11 | 2018 | Thar | 1550000 | 30 |
12 | 2020 | MG Hector | 1900000 | 25 |
如我们所见,从表格 Cars 中成功删除/移除了一列。
从表中删除多列
如果您想从上述Cars表中删除多列,则在SQL中执行以下带有DROP关键字的ALTER查询:
ALTER TABLECars DROP Price, Average;
要检查上述查询的结果,您需要在您的系统中运行以下SQL SELECT查询:
SELECT * FROM Cars;
Car_Number | Model | Car_Name | Color |
---|---|---|---|
1 | 2017 | Audi | Black |
2 | 2018 | BMW | Black |
3 | 2019 | Creta | Blue |
4 | 2020 | Scorpio | Black |
5 | 2018 | Mercedes | Grey |
6 | 2017 | Venue | Yellow |
7 | 2019 | Thar | Red |
8 | 2020 | Audi | Black |
9 | 2019 | Creta | Orange |
10 | 2020 | Verna | Black |
11 | 2018 | Thar | Red |
12 | 2020 | MG Hector | Black |
正如我们所看到的,价格和平均列已经成功从汽车表中删除。
从表中删除外键列
我们可以使用ALTER命令中的DROP Constraint关键字来轻松地从表中删除外键列。
删除外键列的语法如下所示:
ALTER TABLETable_Name DROP CONSTRAINT Foreign_Constraint_Name;