将列添加到SQL Server

时间:2011-04-14 16:04:48

标签: sql-server-2008

我需要在SQL Server表中添加一列。我可以这样做而不会丢失数据吗?

5 个答案:

答案 0 :(得分:128)

当然!只需使用ALTER TABLE...语法即可。

实施例

ALTER TABLE YourTable
  ADD Foo INT NULL /*Adds a new int column existing rows will be 
                     given a NULL value for the new column*/

或者

ALTER TABLE YourTable
  ADD Bar INT NOT NULL DEFAULT(0) /*Adds a new int column existing rows will
                                    be given the value zero*/

在SQL Server 2008中,第一个是仅元数据更改。第二个将更新所有行。

在SQL Server 2012+企业版中,第二个是metadata only change too

答案 1 :(得分:10)

使用此查询:

ALTER TABLE tablename ADD columname DATATYPE(size);

这是一个例子:

ALTER TABLE Customer ADD LastName VARCHAR(50);

答案 2 :(得分:2)

使用SSMS或ALTER TABLE .. ADD添加列不会丢弃任何现有数据。

答案 3 :(得分:1)

向表

添加新列
ALTER TABLE [table]
ADD Column1 Datatype

<强> E.g

ALTER TABLE [test]
ADD ID Int

如果用户希望自动增加

ALTER TABLE [test]
ADD ID Int IDENTITY(1,1) NOT NULL

答案 4 :(得分:-2)

ALTER TABLE fdp_cp_detail DROP COLUMN节流;

更改表fdp_cp_detail添加列high_throughput整数默认值0

更改表fdp_cp_detail添加列low_throughput整数默认值0