我需要向 SQL Server表中添加一列。有没有可能在不丢失数据的情况下做到这一点,我已经做到了?
SQL Server
Of course! Just use the ALTER TABLE... syntax.
ALTER TABLE...
Example
ALTER TABLE YourTable ADD Foo INT NULL /*Adds a new int column existing rows will be given a NULL value for the new column*/
Or
ALTER TABLE YourTable ADD Bar INT NOT NULL DEFAULT(0) /*Adds a new int column existing rows will be given the value zero*/
In SQL Server 2008 the first one is a metadata only change. The second will update all rows.
In SQL Server 2012+ Enterprise edition the second one is a metadata only change too.
Adding a column using SSMS or ALTER TABLE .. ADD will not drop any existing data.
ALTER TABLE .. ADD
Use this query:
ALTER TABLE tablename ADD columname DATATYPE(size);
And here is an example:
ALTER TABLE Customer ADD LastName VARCHAR(50);
Add new column to Table
ALTER TABLE [table] ADD Column1 Datatype
E.g
ALTER TABLE [test] ADD ID Int
If User wants to make it auto incremented then
ALTER TABLE [test] ADD ID Int IDENTITY(1,1) NOT NULL
Add new column to Table with default value.
ALTER TABLE NAME_OF_TABLE ADD COLUMN_NAME datatype DEFAULT DEFAULT_VALUE