轻松上手,快乐学习!

SQL ALTER TABLE 语句


SQL ALTER TABLE 语句

ALTER TABLE 语句用于添加,删除或修改现有表中的列。

ALTER TABLE 语句还用于在现有表上添加和删除各种约束。


ALTER TABLE - 添加列

要在表中添加列,请使用以下语法:

ALTER TABLE table_name
ADD column_name datatype;

以下SQL将“Email”列添加到“Customers”表:

实例

ALTER TABLE Customers
ADD Email varchar(255);

运行实例»


ALTER TABLE - DROP COLUMN

要删除表中的列,请使用以下语法(请注意,某些数据库系统不允许删除列):

ALTER TABLE table_name
DROP COLUMN column_name;

以下SQL从“Customers”表中删除“Email”列:

实例

ALTER TABLE Customers
DROP COLUMN Email;

运行实例»


ALTER TABLE - ALTER / MODIFY COLUMN

若要更改表中列的数据类型,请使用以下语法:

SQL Server / MS Access:

ALTER TABLE table_name
ALTER COLUMN column_name datatype;

MySQL / Oracle(早期版本10G):

ALTER TABLE table_name
MODIFY COLUMN column_name datatype;

Oracle 10G及更高版本:

ALTER TABLE table_name
MODIFY column_name datatype;

SQL ALTER TABLE 实例

“Persons”表:

ID LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

现在我们要在“Persons”表中添加一个名为“DateOfBirth”的列。

我们使用以下SQL语句:

ALTER TABLE Persons
ADD DateOfBirth date;

请注意,新列“DateOfBirth”的类型为date,并将保留日期。数据类型指定列可以容纳的数据类型。有关MS Access,MySQL和SQL Server中可用的所有数据类型的完整参考,请转至我们的完整数据类型参考

“Persons”表现在看起来像这样:

ID LastName FirstName Address City DateOfBirth
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

更改数据类型实例

现在我们要在“Persons”表中更改名为“DateOfBirth”的列的数据类型。

我们使用以下SQL语句:

ALTER TABLE Persons
ALTER COLUMN DateOfBirth year;

请注意,“DateOfBirth”列现在是year类型,并且将以两位或四位数格式保存一年。


DROP COLUMN 实例

接下来,我们要删除“Persons”表中名为“DateOfBirth”的列。

我们使用以下SQL语句:

ALTER TABLE Persons
DROP COLUMN DateOfBirth;

“Persons”表现在看起来像这样:

ID LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger