SQL Server复制及修改表

    处理公交数据屡屡碰壁,主要是技己之前差太多。很鸡汤地安慰技己越是碰壁越是成长,且学且珍惜吧

1 复制表

select * into 新的表格 from 旧的表格
例:select * into [web].[dbo].[cardcctry] from [web].[dbo].[ICCardGJJT03]

    执行后刷新一下就可以看到结果。

2 修改表

2.1 修改字段名

alter table 表名 rename column A to B
例:alter table [web].[dbo].[cardcctry] rename column 交易金额 to JYJE

2.2 修改字段类型

alter table 表名 alter column 字段名 type
例:alter table [web].[dbo].[arrivecctry] alter column [stationname] nVarchar

    这里需要注意,新的字段类型需要足够长大于你输入的字段的长度,否则会报错。


    这里最简单的方法,就是增加其长度,比如

alter table [web].[dbo].[arrivecctry] alter column [stationname] nVarchar(200)

2.3 增加字段

alter table 表名 add 字段名 tpye
例:alter table [web].[dbo].[arrivercctry] add StationName2 nVarchar

    比如可以看到老鼠屎新建好的字段

SQL Server复制及修改表_第1张图片

2.4 删除字段

alter table 表名 drop column 字段名
例:alter table [web].[dbo].[arrivercctry] drop column StationName2

2.5 修改字段默认值

alter table 表名 add default (0) for 字段名 with values

    如果字段有默认值,则需要先删除字段的约束,再添加新的默认值。

select c.name from sysconstraints a 
inner join syscolumns b on a.colid=b.colid 
inner join sysobjects c on a.constid=c.id
where a.id=object_id('表名') 
and b.name='字段名'

    之后根据约束名称删除约束。

alter table 表名 drop constraint 约束名

    最后根据表名向字段中增加新的默认值。

alter table 表名 add default (0) for 字段名 with values

你可能感兴趣的:(SQL)