ALTER TABLE 作用
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。当我们新建了一个表之后,想对其进行修改,可以使用它。
ALTER TABLE 语法
若要向表中添加列,请使用以下语法:
ALTER TABLE table_name
ADD column_name datatype
若要删除表中的列,请使用以下语法(请注意,一些数据库系统不允许这样删除数据库表中的列):
ALTER TABLE table_name
DROP COLUMN column_name
若要更改表中列的数据类型,请使用以下语法:
SQL Server / MS Access:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
My SQL:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype
或
ALTER TABLE table_name
CHANGE column_name column_name datatype
Oracle:
ALTER TABLE table_name
MODIFY column_name datatype
ALTER TABLE 实例
我们以 "Customers" 表为示例:
现在,我们想在 "Customers" 表中给客户添加一个名为 "出生日期" 的列,并将"出生日期"更新为'1990-05-14'。
我们使用下面的 SQL 语句:
ALTER TABLE Customers ADD 出生日期 DATE; UPDATE Customers SET 出生日期='1990-05-14';
请注意,新列 "出生日期" 的类型是 DATE,可以存放3字节的日期。数据类型规定列中可以存放的数据的类型。
现在,"Customers" 表将如下所示:
改变数据类型实例
现在,我们想要改变 "Customers" 表中 "出生日期" 列的数据类型。
我们使用下面的 SQL 语句:
ALTER TABLE Customers ALTER COLUMN 出生日期 DATETIME;
更新后的结果如下:
请注意,现在 "出生日期" 列的类型是 DATETIME,可以存放 8个字节,可以精确到毫秒。
DROP COLUMN 实例
接下来,我们想要删除 "Customers" 表中的 "出生日期" 列。
我们使用下面的 SQL 语句:
ALTER TABLE Customers DROP COLUMN 出生日期;
现在,"Customers" 表将如下所示:
批注
ALTER TABLE在我们对表要进行修改时可以用到,可以很方便的就将表的列名称,列的数据类型进行增加,修改或删除操作。但是不同的数据库修改的方式不一样,上述示例是在SQL Server平台上的实例演示,在其他关系型数据库上可能不适用。