SQL修改数据库名字、表名字、字段名字

SQL修改数据库名字、表名字、字段名字

【资料来自网络】

修改数据库名字:alter database 原数据库名称 modify name=新数据库名称

 

添加字段: ALTER TABLE Supplier ADD LoginPassword varchar(20) 不需要加 COLUMN

 

 

修改表字段属性: ALTER TABLE Supplier ALTER COLUMN LoginPassword varchar(30)

 

 

设置主键:ALTER TABLE tableName ADD CONSTRAINT PK_id PRIMARY KEY (pkColumnName)

 

移出主键:alter   table   tableName drop   constraint   pk_id

 

SP_RENAME

 

 

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 '

 

if you encounter in my blog,please comment sparingly.
posted @ 2011-10-11 10:52  赢风  阅读(4213)  评论(0编辑  收藏  举报