因需求变更要改表的列名,平常都是跑到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 Server中,有时由于业务需求变化,我们需要对数据库中的表名或列名进行修改。传统的做法是通过图形化界面如Enterprise Manager(在较旧版本中)或SQL Server Management Studio (SSMS) 进行操作,但这确实比较...
本文将深入探讨如何通过解析SQL文件来提取其中的表名,并将其保存为文本文件,这对于数据库管理员、数据分析师以及软件开发人员来说是一项非常实用的技能。 首先,让我们理解SQL语句的基本结构。SQL主要由DML(数据...
SQL 语句总结,包括增删改查,建库,表,修改表结构,增删约束与字段等 SQL 语句是关系数据库管理系统的核心组成部分,用于管理和操作数据库。下面是 SQL 语句的总结,包括创建数据库、创建表、修改表结构、增删...
这个库允许开发者分析SQL语句的结构,提取出其中的关键元素,如列名、表名、别名以及查询条件,从而在Java应用程序中实现对SQL的深入理解和操作。以下是对JSQLPaser的一些详细解释和应用示例。 首先,JSQLPaser基于...
SELECT IDENTITY(data_type, seed, increment) AS 列名 INTO 新表名 FROM 原表名; ``` 4. **`UNION`合并插入**:合并多行数据进行插入。 ```sql INSERT INTO 表名 (列名1, 列名2, ...) SELECT 列值1, 列值2, ....
SELECT 列名 FROM 表名 WHERE 列名 = (SELECT 聚合函数(列名) FROM 表名 WHERE 条件); ``` 接下来,我们讨论MySQL的存储过程。存储过程是一组预编译的SQL语句,可以在需要时多次调用,提高了代码的重用性和执行...
"sql关键字与常用函数及区别" 本文档主要介绍了 SQL 中的关键字和常用函数,并对它们的区别进行了详细的解释。 1. SELECT 语句 SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。语法:...
在Oracle中,我们可以使用`ALTER TABLE`语句配合`RENAME COLUMN`子句来修改表的列名。假设我们有一个名为`employees`的表,其中有一列叫做`old_column_name`,我们想要将其改为`new_column_name`,可以执行以下SQL:...
SELECT 列名1 + 列名2 AS 新列名 FROM 表名; ``` - **正倒序排列**: - **升序**: ```sql SELECT * FROM 表名 ORDER BY 列名 ASC; ``` - **降序**: ```sql SELECT * FROM 表名 ORDER BY 列名 DESC; ``` - ...
### SQL2008对表名及字段区分大小写的实现方法 #### 一、概述 在SQL Server 2008中,对于表名、字段名等标识符是否区分大小写是一个重要的配置选项,这对于数据库应用程序的设计和开发具有重要意义。在实际应用中...
2. **更改列名**: 同样,`sp_rename`也用于改变列名。假设要将`tablename`表中的`colname`列改名为`newcolname`,命令如下: ```sql EXEC sp_rename 'tablename.colname', 'newcolname', 'COLUMN'; ``` 3. **...
**注意**:SET子句用来指定要更改的列及新值,WHERE子句则用来限定哪些行将被更新。如果省略WHERE子句,则会更新表中的所有行。 #### 五、查询(Select) 查询操作用于检索数据。 ##### 1. 查询所有列 ```sql ...
alter table 表名 change 需要修改的列名 修改后的列信息; ``` 例如,将“pet”表中的“weight”列改为“varchar(30)”类型,或改名为“wei”: ```sql alter table pet change weight weight varchar(30); ...
“列名1 数据类型 [约束]”等部分代表该表中的各个列,包括列名、数据类型及可能的约束条件。 - **示例**: ```sql CREATE TABLE Employees ( ID INT PRIMARY KEY, Name VARCHAR(50), Department VARCHAR(30) ...
* 修改列名:Alter table 表名 change 旧列名 新列名 新数据类型; * 删除表:Drop table 表名; ### 数据的操作 * 插入数据:Insert [into] 表名 (列名 1,列名 2….) values(值 1,值 2….); * 插入数据:Insert ...
SQL的核心功能包括数据查询、数据更新、数据插入和数据删除,同时支持数据库的创建、修改和管理。在本文中,我们将探讨SQL的基本概念、常用语句以及在实际应用中的用法。 1. 数据库和表 在SQL中,数据库是一个组织...
- `INSERT INTO 表名 (列名1, 列名2,...) VALUES (值1, 值2,...);` - **UPDATE 语句**:用于修改表中的数据。 - `UPDATE 表名 SET 列名 = 新值 WHERE 条件;` - **DELETE 语句**:用于删除表中的数据。 - `DELETE ...
SELECT COUNT(*), COUNT(列名), MAX(列名), MIN(列名), SUM(列名), AVG(列名) FROM 表名; ``` - **解释**:这些命令用于计算表中数据的聚合结果。 - **注意事项**: - `COUNT(*)`返回表中的行数,包括空值和重复值...
UPDATE 表名 SET 列名1 = 新值1, 列名2 = 新值2 WHERE 条件; ``` 5. 删除数据: ```sql DELETE FROM 表名 WHERE 条件; ``` 6. 修改表结构: - 添加列: ```sql ALTER TABLE 表名 ADD COLUMN 新列名 新数据...
* 修改列名:Alter table 表名 change 旧列名 新列名 新数据类型; * 删除表:Drop table 表名; 数据的操作: * 插入数据:Insert [into] 表名 (列名 1,列名 2….) values(值 1,值 2….); * 修改表数据:Update ...