将列添加到SQL Server


101

我需要在SQL Server表中添加一列。是否有可能这样做而不会丢失我已经拥有的数据?

Answers:


158

当然!只需使用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+企业版中,第二个也是元数据也仅更改


17

使用此查询:

ALTER TABLE tablename ADD columname DATATYPE(size);

这是一个示例:

ALTER TABLE Customer ADD LastName VARCHAR(50);

1
如果您发布代码,XML或数据示例,在文本编辑器中突出显示这些行,然后单击{ }编辑器工具栏上的“代码示例”按钮(),以很好地格式化和语法突出显示它!
marc_s


2

将新列添加到表

ALTER TABLE [table]
ADD Column1 Datatype

例如

ALTER TABLE [test]
ADD ID Int

如果用户要使其自动递增,则

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.