alter用來修改基本表,是對表的結構進行操作,在已有的表中添加、刪除或修改列
添加列:
ALTER TABLE table_name
ADD column_name datatype
ADD column_name datatype
刪除列(請注意,某些數據庫系統不允許這種在數據庫表中刪除列的方式):
ALTER TABLE table_name
DROP COLUMN column_name
DROP COLUMN column_name
改變列的數據類型:
SQL Server / MS Access:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
ALTER COLUMN column_name datatype
My SQL / Oracle:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype
MODIFY COLUMN column_name datatype
Oracle 10G 之后版本:
ALTER TABLE table_name
MODIFY column_name datatype;
SQL ALTER TABLE 實例
請看 "Persons" 表:
P_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
ADD DateOfBirth date
請注意,新列 "DateOfBirth" 的類型是 date,可以存放日期。數據類型規定列中可以存放的數據的類型。
現在,"Persons" 表將如下所示:
P_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
ALTER COLUMN DateOfBirth year
請注意,現在 "DateOfBirth" 列的類型是 year,可以存放 2 位或 4 位格式的年份。
DROP COLUMN 實例
接下來,我們想要刪除 "Person" 表中的 "DateOfBirth" 列。
我們使用下面的 SQL 語句:
ALTER TABLE Persons
DROP COLUMN DateOfBirth
DROP COLUMN DateOfBirth
現在,"Persons" 表將如下所示:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
update用來修改表中的數據,是對表的數據進行更新,修改某一行某一列的值
語法:
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
Person:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Champs-Elysees |
更新某一行中的一個列
我們為 lastname 是 "Wilson" 的人添加 firstname:
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
結果:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Champs-Elysees |
更新某一行中的若干列
我們會修改地址(address),並添加城市名稱(city):
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'
結果:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Zhongshan 23 | Nanjing |