目录

SQL ALTER TABLE 语句


SQL ALTER TABLE 语句

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

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


更改表 - 添加列

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

ALTER TABLE table_name
ADD column_name datatype;

以下SQL将#{0}#列添加到#{1}#table:

示例

ALTER TABLE Customers
ADD Email varchar(255);

更改表 - 删除列

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

ALTER TABLE table_name
DROP COLUMN column_name;

以下SQL从#{1}#table删除#{0}#列:

示例

ALTER TABLE Customers
DROP COLUMN Email;

更改表 - 重命名列

要重命名表中的列,请使用以下语法:

ALTER TABLE table_name
RENAME COLUMN old_name to new_name;

更改表 - 更改/修改数据类型

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

SQL Server / MS Access:

ALTER TABLE table_name
ALTER COLUMN column_name datatype;

My SQL/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

现在,我们想在#{1}#表中添加一个名为#{0}#的列。

我们使用以下 SQL 语句:

ALTER TABLE Persons
ADD DateOfBirth date;

请注意,新列#{0}#是类型日期,将保留日期。数据类型指定列可以保存的数据类型。有关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  

更改数据类型示例

现在,我们想更改#{1}#表中的名为#{0}#的列的数据类型。

我们使用以下 SQL 语句:

ALTER TABLE Persons
ALTER COLUMN DateOfBirth year;

请注意,#{0}#列现在是类型年份,将以两位数或四位数格式持有一年。


删除列示例

接下来,我们要在#{1}#表中删除名为#{0}#的列。

我们使用以下 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

通过练习测试一下

练习:

添加类型DATE被称为Birthday

 Persons
;

开始练习