2011-04-14 112 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