2011-04-14 111 views

回答

81

当然!只需使用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

2

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

8

使用此查询:

ALTER TABLE tablename ADD columname DATATYPE(size); 

而且这里有一个例子:

ALTER TABLE Customer ADD LastName VARCHAR(50); 
+1

如果您发布的代码,XML或数据样本,** **请在高亮文本编辑器的线,然后单击“代码示例”按钮('{}')在编辑器工具栏上进行恰当的格式化和语法突出显示! – 2011-04-14 20:43:28

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