将列添加到SQL Server

Ant*_*yrd 90 sql-server-2008

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

Mar*_*ith 142

当然!只需使用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*/
Run Code Online (Sandbox Code Playgroud)

要么

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

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

在SQL Server 2012+企业版中,第二个也是仅元数据更改.


bha*_*h N 11

使用此查询:

ALTER TABLE tablename ADD columname DATATYPE(size);
Run Code Online (Sandbox Code Playgroud)

这是一个例子:

ALTER TABLE Customer ADD LastName VARCHAR(50);
Run Code Online (Sandbox Code Playgroud)