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 |