MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句。
重命名字段的语法为:alter table <表名> change <字段名> <字段新名称> <字段的类型>。
现在我们来尝试把test表中的t_name字段重命名为t_name_new字段。
1、首先查看一下当前test表的`结构
mysql> describe test;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| t_id | int(11) | YES | | NULL | |
| t_name | var20) | YES | | NULL | |
| t_password | 32) | YES | | NULL | |
| t_birth | date | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
4 rows in set (000 sec)
2、使用alter table语句来修改字段名称
mysql> alter table test change t_name t_name_new var20);
Query OK, 0 rows affected (011 sec)
Records: 0 Duplicates: 0 Warnings: 0
3、查看修改过后的结果
mysql> describe test;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| t_id | int(11) | YES | | NULL | |
| t_name_new | var20) | YES | | NULL | |
| t_password | 32) | YES | | NULL | |
| t_birth | date | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
4 rows in set (000 sec)
至此,我们可以顺利的修改表中字段名称了。
关于MySQL中使用SQL语句对字段进行重命名,本文就介绍这么多,希望对大家有所帮助,谢谢!
; SQL 查询中重命名使用as来处理,语法:select 字段名 as 重命名
1、as可理解为:用作、当成,作为;一般式重命名列名或者表名。
2、例如:
有表table, 列 column_1,column_2
可以写成 select column_1 as 列1,column_2 as 列2 from table as 表
上面的语句就可以解释为,选择 column_1 作为 列1,column_2 作为 列2 从 table 当表
企业管理器
--右键"数据库"--所有任务--还原数据库
--"还原为数据库库"中输入还原后的数据库名Admin10000com
--还原选择"从设备"--选择设备--添加--添加你的
备份文件
--确定,回到数据库还原的界面
--备份号--选择内容--选择你要恢复那次备份的内容
--选项--将"移至物理文件名"中的物理文件名修改为你的
数据文件
要存放的文件名,这里修改为Admin10000com_DataMDF(
数据库文件
)和Admin10000com_LogLDF(
日志文件
)
--如果要还原的数据库已经存在,选择"在现有数据库上强制还原"
--确定
sql server中改名用函数:sp_rename
释义:更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称
语法如下:
sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ]
参数:
1[@objname =] 'object_name' 是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name 必须为 tablecolumn 形式。如果要重命名的是索引,那么 object_name 必须为 tableindex 形式。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 'table1colname','B','A'
代码如下:
EXEC sp_rename '表名[原列名]', '新列名', 'column'
Transact-SQL 参考
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
语法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
参数
[@objname =] 'object_name'
是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name 必须为 tablecolumn 形式。如果要重命名的是索引,那么 object_name 必须为 tableindex 形式。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
系统存储过程
注:系统数据表不能改
常见的主要有三种方法:
如果所有表都是MyISAM类型的话,可以直接修改文件夹的名字。关闭mysql→把data目录中的db_name目录重命名为new_db_name→开启mysql
新建数据库,在新的数据库里重命名所有旧数据库中的表,再删除旧的数据库。具体 *** 作命令如下:创建新的数据库→重命名数据表名称→删除旧的数据库。
CREATE DATABASE new_db_name;RENAME TABLE db_nametable1 TO new_db_nametable1,db_nametable2 TO new_db_nametable2;DROP DATABASE db_name;
利用mysqldump命令从旧的数据导出数据,再导入新数据库。具体 *** 作命令如下:导出数据→创建新的数据库→导入数据→删除旧的数据库。
mysqldump -u root -p -h ip db_name > db_name_dumpSQLmysql -u root -p -h ip -e “CREATE DATABASE new_db_name”mysql -u root -p -h ip new_db_name < db_name_dumpSQLmysql -u root -p -h ip -e “DROP DATABASE db_name”
以上就是关于SQL中在做查询时怎样给某一个字段重命名全部的内容,包括:SQL中在做查询时怎样给某一个字段重命名、SQL中在做查询时怎样给列重命名、如何对SQLServer数据库进行重命名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)