Cha*_*nst 1 sql sql-server alter-table
我想知道是否使用以下方式将列添加到表中:
alter table Jobs
add Complete boolean
Run Code Online (Sandbox Code Playgroud)
这会清除当前表中的所有数据吗?我正在使用SQL Server Management Studio 2012
一点也不。这将添加一个值为的列NULL,但对表中已有的数据没有直接影响。
注意: booleanSQL Server中不是数据类型,因此该特定语句将不起作用。您可以使用bit,tinyint,smallint,或int代替。或a char(1)来存储“ T”和“ F”。
另外要注意的是:如果您的表很大,那么添加列可能要花一些时间,因为可能需要重写所有数据。尽管值为NULL,但SQL Server的每个页面NULL在所有列中都包含一些值。如果这超出了字节边界,则需要在页面上重新排列数据-也许还要为数据分配新页面。无论如何,每个页面都需要修改以包括这些NULL值。因此,如果可能,建议将列添加到空表中。