SQL语句修改字段类型长度

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

sql语句修改字段属性

如果数据量非常大,达到几百万条记录以上,使用企业管理器来更改字段类型,很多时候会超时,更改不成功,这时可以使用sql语句来更改,如下:

a、更改字段类型长度

alter table 表

alter column 字段名类型的长度--varchar(60)

例:把城市表的城市名字段有原来的长度20改为30

alter table testcity

alter column cityname varchar(30)

b、更改字段类型

alter table 表

alter column 字段名更改后的类型

例:把城市表的城市名字段有原来的varchar类型改为int类型 alter table testcity alter column cityname int

如果sno字段原来不为空:

alter table student alter column sno varchar(10) not null 如果sno字段原来为空:

alter table student alter column sno varchar(10)

因为不管以前的字段是否允许为空,执行

alter table student alter column sno varchar(10)

后该字段都会变为允许为空。还有就是执行这类修改操作时最好是空表,如果有数据,可能会失败。因为有些数据类型之间可能不能隐式的转换或者根本就不能转化,比如“abc”要转换成int型。所以,一切还要自己注意控制。

c、添加not null约束

alter table 表 alter column 字段名 int not null

例:把cid不能输入空值

alter table testcity alter column cid int not null

d、设置主键

alter table 表 add constraint 主键名 primary key(字段名) 例:把cid设为主键

alter table testcity add constraint pk_cid primary key(cid) e、更改字段名

exec sp_rename 表名.字段名,更改后的字段名,column f、添加字段名

alter table 表 add 字段名字段类型 default null篇二:用sql语句添加删除修改字段

1.增加字段

alter table docdsp add dspcode

char(200)

2.删除字段

alter table table_name drop column

column_name

3.修改字段类型

alter table table_name alter column

column_name new_data_type

4.sp_rename 改名

exec sp_rename [dbo].[table_1].[filedname1], filedname2, column 更改当前数据

库中用户创建对象(如表、列或用户定义数据类型)的名称。

语法

sp_rename [ @objname = ] object_name ,[ @newname = ] new_name,分类信息; [ , [ @objtype =] object_type ]

如:exec sp_rename newname,partstock

5.sp_help 显示表的一些基本情况

sp_help object_name

如:exec sp_help partstock

6.判断某一表partstock中字段partvelocity是否存在

if

exists (select * from syscolumns where

id=object_id(partstock) and name=partvelocity)

print

partvelocity exists

else print partvelocity not

exists

另法:

判断表的存在性:

select count(*) from sysobjects where type=u

and name=你的表名

判断字段的存在性:

select count(*) from syscolumns

where

id = (select id from sysobjects where type=u and name=你的表名)

and name = 你要判断的字段名

一个小例子

--假设要处理的表名为:

tb

--判断要添加列的表中是否有主键

if exists(select 1 from sysobjects where

parent_obj=object_id(tb) and xtype=pk)

begin

print

表中已经有主键,列只能做为普通列添加

--添加int类型的列,默认值为0

alter table tb add 列名 int default

end

else

begin

print 表中无主键,添加主键列

--添加int类型的列,默认值为0

alter

table tb add 列名 int primary key default 0

end

相关文档
最新文档