SQL ALTER TABLE 语句
SQL ALTER TABLE 语句
ALTER TABLE
语句用于在现有表中添加、删除或修改列。
ALTER TABLE
语句也用于在现有表中添加和删除各种约束。
ALTER TABLE - 添加列
要向表中添加列,请使用以下语法
ALTER TABLE 表名
ADD 列名 数据类型;
以下 SQL 在“Customers”表中添加了“Email”列
示例
ALTER TABLE Customers
ADD Email varchar(255);
ALTER TABLE - 删除列
要删除表中的列,请使用以下语法(请注意,某些数据库系统不允许删除列)
ALTER TABLE 表名
DROP COLUMN 列名;
以下 SQL 从“Customers”表中删除了“Email”列
示例
ALTER TABLE Customers
DROP COLUMN Email;
ALTER TABLE - 重命名列
要重命名表中的列,请使用以下语法
ALTER TABLE 表名
RENAME COLUMN 旧名称 to 新名称;
要在 SQL Server 中重命名表中的列,请使用以下语法
SQL Server
EXEC sp_rename '表名.旧名称', '新名称', 'COLUMN';
ALTER TABLE - 修改/更改数据类型
要更改表中列的数据类型,请使用以下语法
SQL Server / MS Access
ALTER TABLE 表名
ALTER COLUMN 列名 数据类型;
My SQL / Oracle (10G 之前的版本)
ALTER TABLE 表名
MODIFY COLUMN 列名 数据类型;
Oracle 10G 及更高版本
ALTER TABLE 表名
MODIFY 列名 数据类型;
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 |