sql server中使用sql语句修改列名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server中使用sql语句修改列名相关的知识,希望对你有一定的参考价值。

修改类型的语法:ALTER TABLE 表名 ALTER COLUMN 字段名 类型
修改表名或字段名用存储过程sp_rename
用法exec sp_rename '表名.[字段原名]','字段新名','column'追问

请具体点

追答

您好,刚才没看清楚所以直接回答了上面的语句,ALTER TABLE 表 ALTER COLUMN是修改字段类型默认值等用的。
而sp_rename是修改表名或者列名的过程。
具体的用法如下:
Sp_rename[@objname=]'object_name', [@newname=]'new_name'[,[@objtype=]'object_type']
其中[@objtype=]'object_type'是要改名的对象的类型,其值可以为
'Column' 列
'Database' 数据库
'Index' 索引
'Userdatatype'用户自定义类型
'Object' 对象
如修改表名:
exec sp_rename 原表名,'新表名'
修改字段名exec sp_rename '表名.[字段原名]','字段新名','column'

参考技术A 表:
customer 表格 栏位名称 资料种类
First_Name char(50)
Last_Name char(50)
Address char(50)
City char(50)
Country char(25)
Birth_Date date
Gender char(1)

把 "Address" 栏位改名为 "Addr"。这可以用以下的指令达成:

ALTER table customer change Address Addr char(50)追问

好像不行
change没蓝显

追答

那你调用系统存储过程吧
EXEC sp_rename dbname.customer .Address', 'Addr', 'COLUMN'

在教你一个查sql语句的方法,你用sql server管理做这件事。
然后不要点击存盘图标,工具栏应该有另一个图标上边也有个磁盘标志,具体忘记的,
它的动作是讲你的操作以SQL语句的方式保存为文件
这样就能看到你刚才用企业管理器所做操作的SQL 语句了

参考技术B 里面有全部的列语法及例子 参考技术C EXEC sp_rename 'customers.[contact title] ', 'title ', 'COLUMN '本回答被提问者采纳 参考技术D 你可以使用企业管理器来更改啊!

sql server,更改列名怎么写?如列A改名为列B

sp_rename

 

释义:更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称

语法如下:    

sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ]


参数:

    1.[@objname =] 'object_name' 是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name 必须为 table.column 形式。如果要重命名的是索引,那么 object_name 必须为 table.index 形式。object_name 为 nvarchar(776) 类型,无默认值。

    2. [@newname =] 'new_name' 是指定对象的新名称。new_name 必须是名称的一部分,并且要遵循标识符的规则。newname 是 sysname 类型,无默认值。

    

    3. [@objtype =] 'object_type' 是要重命名的对象的类型。object_type 为 varchar(13) 类型,其默认值为 NULL,可取下列值。

    

注意:

    只能更改当前数据库中的对象名称或数据类型名称。大多数系统数据类型和系统对象的名称不能更改。

    重命名视图时,sysobjects 表中有关该视图的信息将得到更新。重命名存储过程时,sysobjects 表中有关该过程的信息将得到更新。

    每当重命名 PRIMARY KEY 或 UNIQUE 约束时,sp_rename 都会自动为相关联的索引重命名。如果重命名的索引与 PRIMARY KEY 约束相关联,那么 sp_rename 也会自动重命名主键。


修改列A名为B:

sp_rename 'table1.colname','B','A'

参考技术A 额,还从来木有酱紫的需求呢,占个座,应该类似alter table dd modify column 列名 后面的就不知道了,【极品飞鸽】 参考技术B 更改列名属于更改表定义,且更改列名不能直接更改,所以:
step1:先把A列删去
alter table 表名
drop column A
go
step2:再加入B列,其类型当然同A
alter table 表名
add column B 类型
go
参考技术C exec sp_rename 'table_name.A' ,'B', 'column'本回答被提问者和网友采纳 参考技术D 假设将table1表的column1改名为column2,可以使用如下:
sp_rename
'table1.column1','column2','column'

以上是关于sql server中使用sql语句修改列名的主要内容,如果未能解决你的问题,请参考以下文章

SQL server怎样使用ALTER 语句修改字段名

SQL Server增删改查语句

sql server where 字段 is null 的问题

SQL server怎样使用ALTER 语句修改字段名

关于sql server查询的where不识别列名的问题

2017-3-10 SQL server T-sql语句 高级查询