sql之操作数据库中的表
增加字段
alter table table_name add column_name varchar(200)
删除字段
ALTER TABLE table_NAME DROP COLUMN column_NAME
修改字段类型
ALTER TABLE table_name ALTER COLUMN column_name new_data_type
修改表字段的长度(修改表结构)
alter table table_name modify column_name varchar(40) ;
改名
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
语法
sp_rename [ @objname = ] ’object_name’ ,
[ @newname = ] ’new_name’
[ , [ @objtype = ] ’object_type’ ]
--假设要处理的表名为: 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 0
end
else
begin
print ’表中无主键,添加主键列’
查询表中的某些字段重复记录
select count(*),column_name from table_name group by column_name having count(*)>1;
查询并修改数据(如将67001改为68701,67101改为68801)
select code,(’68’ || (substr(code, 2, 1) + substr(code,3,1)) || substr(code,4,2)) as code2 from table_name where code like ’67___’ ;
update table_name set code = (’68’ || (substr(code, 2, 1) + substr(code,3,1)) || substr(code,4,2)), parentid=’68’ where code like ’67___’
alter table table_name add column_name varchar(200)
删除字段
ALTER TABLE table_NAME DROP COLUMN column_NAME
修改字段类型
ALTER TABLE table_name ALTER COLUMN column_name new_data_type
修改表字段的长度(修改表结构)
alter table table_name modify column_name varchar(40) ;
改名
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
语法
sp_rename [ @objname = ] ’object_name’ ,
[ @newname = ] ’new_name’
[ , [ @objtype = ] ’object_type’ ]
--假设要处理的表名为: 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 0
end
else
begin
print ’表中无主键,添加主键列’
查询表中的某些字段重复记录
select count(*),column_name from table_name group by column_name having count(*)>1;
查询并修改数据(如将67001改为68701,67101改为68801)
select code,(’68’ || (substr(code, 2, 1) + substr(code,3,1)) || substr(code,4,2)) as code2 from table_name where code like ’67___’ ;
update table_name set code = (’68’ || (substr(code, 2, 1) + substr(code,3,1)) || substr(code,4,2)), parentid=’68’ where code like ’67___’
带默认值的写法
BEGIN TRANSACTION
GO
ALTER TABLE dbo.gl_gemblitz_users ADD uAppUser varchar(1000) NULL, uAppUserInfo text NULL, uFaceInfo varchar(50) NULL
GO
ALTER TABLE dbo.gl_gemblitz_users ADD CONSTRAINT DF_gl_gemblitz_users_uAppUser DEFAULT ('') FOR uAppUser
GO
ALTER TABLE dbo.gl_gemblitz_users ADD CONSTRAINT DF_gl_gemblitz_users_uAppUserInfo DEFAULT ('') FOR uAppUserInfo
GO
ALTER TABLE dbo.gl_gemblitz_users ADD CONSTRAINT DF_gl_gemblitz_users_uFaceInfo DEFAULT ('') FOR uFaceInfo
GO
COMMIT
update
dbo.gl_gemblitz_users set uAppUser='',uAppUserInfo='',uFaceInfo=''
重命名列名
EXECUTE sp_rename N'TableName.oldColum', N'newColum', 'COLUMN'

浙公网安备 33010602011771号