添加列是否删除数据

Does Adding Column Delete Data

我想知道是否可以使用以下方法向我的 table 添加一列:

alter table Jobs
add Complete boolean

这会删除我 table 中当前的所有数据吗?我正在使用 SQL Server Management Studio 2012

完全没有。这将添加一个值为 NULL 的列,但它对 table.

中已有的数据没有直接影响

注意:boolean 不是 SQL 服务器中的数据类型,因此该特定语句将不起作用。您可以改用 bittinyintsmallintint。或者 char(1) 来存储 'T' 和 'F'.

还有一个注意事项:如果您的 table 非常大,那么添加一列可能需要一段时间,因为可能需要重写所有数据。尽管值为 NULL,SQL 服务器中的每个页面都包含所有列中 NULL 值的位。如果这跨越字节边界,则需要在页面上重新排列数据——并且可能需要为数据分配新的页面。在任何情况下,每个页面都需要修改以包含 NULL 值。因此,如果可能,建议将列添加到空 tables。

不,它不会删除您的数据。它将添加一列,所有现有数据都将在该列中分配空值。