SQL如何更改表中的列名称?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL如何更改表中的列名称?相关的知识,希望对你有一定的参考价值。

代码如下:
EXEC sp_rename '表名.[原列名]', '新列名', 'column'
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。

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

参数 www.2cto.com
[@objname =] 'object_name'

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

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

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

值 描述
COLUMN 要重命名的列。
DATABASE 用户定义的数据库。要重命名数据库时需用此选项。
INDEX 用户定义的索引。
OBJECT 在 sysobjects 中跟踪的类型的项目。例如,OBJECT 可用来重命名约束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用户表、视图、存储过程、触发器和规则等对象。
USERDATATYPE 通过执行 sp_addtype 而添加的用户定义数据类型。
返回代码值
0(成功)或非零数字(失败)
参考技术A 如果这列有数据这样修改不了,只能在命令提示符下修改。
SQL>alter
table
tablename
rename
column
列名
to
新列名;

Oracle SQL - 重复行并更新表中的列

【中文标题】Oracle SQL - 重复行并更新表中的列【英文标题】:Oracle SQL - duplicate rows & update columns in a table 【发布时间】:2013-01-21 14:50:14 【问题描述】:

我有一个 oracle SQL 表,我想复制它的行,同时增加每行的 id 并更改 2 列的值。所以伪代码会是这样的:

for each row r in TABLE t
  new n = r
  n.id = r.id+1
  n.columnA = 12
  n.columnB = 13
  insert n into t

有人可以展示我如何在 Oracle SQL 中执行此操作吗?

【问题讨论】:

【参考方案1】:
insert into t(id, columnA, columnB)
select id + 1, 12, 13 from t;

【讨论】:

以上是关于SQL如何更改表中的列名称?的主要内容,如果未能解决你的问题,请参考以下文章

SQL 修改表中的列名(急~~~)

如何使用 SQL 重命名数据库表中的列?

更改列名的几种方法在数据库中

SQL中怎样修改一个表的列名呢??

SQL 从包含表名、列名和值列映射的数据表中将数据插入到多个表中,可以在源中更改

SQLServer如何修改一列的列名呢?