因需求变更要改表的列名,平常都是跑到Enterprise manager中选取服务器->数据库->表,然后修改表,这样太麻烦了,查了一下,可以用script搞定, 
代码如下: 
EXEC sp_rename '表名.[原列名]', '新列名', 'column'

****************************************************************************************************** 
Transact-SQL 参考

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

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

参数 
[@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(成功)或非零数字(失败)

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

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

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

重要  重命名存储过程和视图后,请清空过程高速缓存以确保所有相关的存储过程和视图都重新编译。

由于存储过程和视图都不存储数据,所以这两种对象均可快速删除和重建。重命名文本对象时,要获得最佳结果,应删除并使用其新名称重新创建对象。

权限 
sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员或对象所有者可以执行 sp_rename。只有 sysadmin 和 dbcreator 固定服务器角色成员才能将"database"作为 object_type 来执行 sp_rename。

示例 
A. 重命名表 
下例将表 customers 重命名为 custs。

EXEC sp_rename 'customers', 'custs'

B. 重命名列 
下例将表 customers 中的列 contact title 重命名为 title。

EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN'

请参见

ALTER TABLE

CREATE DEFAULT

CREATE PROCEDURE

CREATE RULE

CREATE TABLE

CREATE TRIGGER

CREATE VIEW

数据类型

SETUSER

sp_addtype

sp_depends

sp_renamedb

系统存储过程

sql 修改列名及表名 sp_rename的更多相关文章

  1. ylb:sql语句重命名表名和列名

    ylbtech-SQL Server:SQL Server-sql语句重命名表名和列名 sql语句重命名表名和列名 ylb:sql语句重命名表名和列名 返回顶部 一.更改数据库名    sp_rena ...

  2. oracle 不能是用变量来作为列名和表名 ,但使用动态sql可以;

    ORACLE 不能使用变量来作为列名 和表名 一下是个人的一些验证: DECLARE ename1 emp.ename%TYPE ; TYPE index_emp_type ) INDEX BY PL ...

  3. [转]关于oracle sql语句查询时表名和字段名要加双引号的问题

    oracle初学者一般会遇到这个问题.   用navicat可视化创建了表,可是就是不能查到!   后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引 ...

  4. 小白日记41:kali渗透测试之Web渗透-SQL手工注入(三)-猜测列名、表名、库名、字段内容,数据库写入

    SQL手工注入 靶机:metasploitable(低)  1.当无权读取infomation_schema库[MySQL最重要的源数据库,必须有root权限]/拒绝union.order by语句 ...

  5. SQL Server如何查找表名或列名中包含空格的表和列

    最近发现一个数据库中的某个表有个字段名后面包含了一个空格,这个空格引起了一些小问题,一般出现这种情况,是因为创建对象时,使用双引号或双括号的时候,由于粗心或手误多了一个空格,如下简单案例所示: USE ...

  6. MySQL批量修改相同后缀表名

    执行步骤 1.用concat批量生成修改表名的语句 SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', ,locate('_postfi ...

  7. SQL修改列名,增加列,删除列语句的写法

    1.修改数据表名 ALTER TABLE [表名.]OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME; 2.修改列名 ALTER TABLE [表名.]TABLE_NAM ...

  8. PowerDesign设置列名与表名的大小写规则

    因为设计的Model是要用到Oracle 11g的,Oracle 11g的表名和列名默认是大写,在设计模型当中小写转大写一直很苦闹,发现PowerDedign可以直接设置,见下文: 打开Tools-- ...

  9. MyBatis构建sql时动态传入表名以及字段名

    今天项目需要用到动态表名,找到这一篇文章,亲测可用 用了mybatis很长一段时间了,但是感觉用的都是比较基本的功能,很多mybatis相对ibatis的新功能都没怎么用过.比如其内置的注解功能之类的 ...

随机推荐

  1. es6字符串新特性

    转: 字符串的扩展 修改教程 上一节 : 变量的解构赋值 下一节 : 正则的扩展 字符串的扩展 ES6 加强了对 Unicode 的支持,并且扩展了字符串对象. 字符的 Unicode 表示法 Jav ...

  2. git<git rebase 修改以前提交过的内容>

      git rebase 使用总结: 使用git rebase 修改以前已经提交的内容 比如要修改之前的commit的 hashcode为:187f869c9d54c9297d6b0b1b4ff47d ...

  3. 【Asp.net入门3-01】使用jQuery-创建示例项目

    过去,浏览器除了显示HTML外,很少具有其他功能.因此,早期的Web应用程序需要依赖服务 器端代码来响应用户交互并执行数据操作.Web应用程序的交互依赖HTML表单元素和浏览器向服务 器发送数据的功能 ...

  4. 怎么在.net里面解析JSON文件?

    我在网上搜了好多的文章,讲了很多的方法.但是无一例外的都看不懂...可能是因为我在这方面是个白痴吧... 所幸的是,我搜到了一个博客,写的很是清晰,比我之前看的大片文章写的好多了,在这里:http:/ ...

  5. bzoj千题计划135:bzoj1066: [SCOI2007]蜥蜴

    http://www.lydsy.com/JudgeOnline/problem.php?id=1066 每个柱子拆成两个点 i<<1,i<<1|1,之间连流量为高度的边 如果 ...

  6. 2017 国庆湖南 Day1

    卡特兰数 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ] ...

  7. querySelectorAll 方法和 getElementsBy 系列方法的区别

    本文是我在知乎上的一个回答:http://www.zhihu.com/question/24702250/answer/28695133 ————— 下面是正文 ————— 1. W3C 标准quer ...

  8. 推荐一款超级漂亮的HTML5 CSS3的图片轮播器

    最近在学习HTML5和CSS3,印象最深的是CSS3的动画功能,不仅有浏览器原生支持,执行效率高,而且免去在js中自己管理timer. 本来想写一个图片轮播器练练手,结果在网上发现一个国人写的开源的图 ...

  9. Tju_Oj_2790Fireworks Show

    这个题主要在于时间复杂度的计算,N是10的6次方,C是10的2次方,OJ系统可接受的时间是10的7次方(室友说是无数先人测出来了┭┮﹏┭┮),所以如果普通遍历的话肯定会超时.而代码中是跳着走了,相当于 ...

  10. c++刷题(21/100)树的打印、矩阵覆盖和括号生成

    题目一:把二叉树打印成多行 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 思路:一开始以为2维的vector可以直接访问,但是试了是不行,会报错,vector在有值之前不能直接访问 ...