当我们在不断修改我们的数据库的时候,经常会涉及到修改表结构字段,当然我们可以通过可视化工具修改,但是有的时候使用可视化工具达不到想要的结果,比如我们想要添加一个非空字段,但是表中已经有了数据,这个时候就需要使用sql语句了。看下面的情况:
添加可以为空的字段比较简单,我们可以通过可视化工具来添加,当然也可以通过sql语句来添加,例子如下面的例子给Content表加上一个nvarchar(256)类型的Keyword字段,并且是可以为空的。
ALTER TABLE Content ADD Keyword nvarchar(256)
如果上面的Keyword不能为空,那么sql写法如下所示:
ALTER TABLE Content ADD Keyword nvarchar(256) NOT NULL
只需要在后面加上NOT NULL即可。
假如我们想要个给Content加上一个名为IdNumber的只增长字段,增幅是1,且可以为空
原始的方法代码:
ALTER TABLE Content ADD IdNumber INT IDENTITY(1,1)
如果不允许为空sql如下所示:
ALTER TABLE Content ADD IdNumber INT IDENTITY(1,1) NOT NULL
同样只需要在后面加上NOT NULL即可。
但是还有一个更好的方法如下所示:
ALTER TABLE Content ADD IdNumber bigint NOT NULL Default 0 GO DECLARE @IdNumber bigint SET @IdNumber = 0 UPDATE cms_Content SET @IdNumber = IdNumber = @IdNumber + 1 GO
这个方法是使原来的数据真正实现了从1递增。