我需要在SQL Server
表中添加一列。我可以这样做而不会丢失数据吗?
答案 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