当前位置:首页 » 参考文献 » 更改数据库名称

更改数据库名称

发布时间: 2021-03-13 07:40:03

Ⅰ sql语句可以修改数据库名称吗

sqlserver的话:

sp_renamedb
更改数据库的名称。

语法
sp_renamedb [ @dbname = ] ' old_name ' ,
[ @newname = ] ' new_name '

参数
[ @dbname = ] ' old_name '

是数据库的当前名称。old_name 为 sysname 类型,无默认值。

[ @newname = ] ' new_name '

是数据库的新名称。new_name 必须遵循标识符规则。new_name 为 sysname 类型,无默认值。

返回代码值
0 (成功)或非零数字(失败)

权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行 sp_renamedb。

示例
下例将数据库 accounting 改名为 financial。

EXEC sp_renamedb ' accounting ' , ' financial '

Ⅱ SQLServer如何完整的修改一个数据库的名称

数据库为原名称为DB_BEIJING,需要修改成DB_SHANGHAI
nzperfect
2012.12.19*/
--判断是否存在同名的数据库,以防止误删除USE
masterGOIF
EXISTS
(SELECT
name
FROM
sys.databases
WHERE
name
=
N'DB_BEIJING')BEGINRAISERROR('请注意:数据库已存在!',15,1)RETURN--DROP
DATABASE
DB_BEIJINGENDGOUSE
masterGO--创建测试数库
CREATE
DATABASE
[DB_BEIJING]ON
PRIMARY(NAME
=
N'DB_BEIJING',
FILENAME
=
N'X:\DATA\DB_BEIJING.mdf'
,
SIZE
=
3072KB
,
FILEGROWTH
=
1024KB)LOG
ON(NAME
=
N'DB_BEIJING_log',
FILENAME
=
N'W:\Log\DB_BEIJING_log.ldf'
,
SIZE
=
1024KB
,
FILEGROWTH
=
1024KB)GO
--以下为修改过程
--step
1
:
修改数据库名称USE
masterGOALTER
DATABASE
DB_BEIJING
SET
SINGLE_USER
WITH
ROLLBACK
IMMEDIATEGOEXEC
master..sp_renamedb
'DB_BEIJING','DB_SHANGHAI'GOALTER
DATABASE
DB_SHANGHAI
SET
MULTI_USERGO
--step
2
:
查看修改名称后的数据库逻辑名及物理文件名USE
masterGOSELECT
name
AS
[Logical
Name],
physical_name
AS
[DB
File
Path],type_desc
AS
[File
Type],
state_desc
AS
[State]
FROM
sys.master_files
WHERE
database_id
=
DB_ID(N'DB_SHANGHAI')GO/*Logical
Name
DB
File
Path
File
Type
State
DB_BEIJING
X:\DATA\DB_BEIJING.mdf
ROWS
ONLINE
DB_BEIJING_log
W:\Log\DB_BEIJING_log.ldf
LOG
ONLINE*/
--step
3
:
修改数据库逻辑文件名称USE
masterGOALTER
DATABASE
DB_SHANGHAI
SET
SINGLE_USER
WITH
ROLLBACK
IMMEDIATEGOALTER
DATABASE
DB_SHANGHAI
MODIFY
FILE
(NAME=N'DB_BEIJING',
NEWNAME=N'DB_SHANGHAI')GOALTER
DATABASE
DB_SHANGHAI
MODIFY
FILE
(NAME=N'DB_BEIJING_log',
NEWNAME=N'DB_SHANGHAI_log')GOALTER
DATABASE
DB_SHANGHAI
SET
MULTI_USERGO
--step
4
:
修改数据库物理文件名称之前先打开xp_cmdshell支持USE
masterGOsp_configure
'show
advanced
options',1GORECONFIGURE
WITH
OVERRIDEGOsp_configure
'xp_cmdshell',
1GORECONFIGURE
WITH
OVERRIDEGO
--step
5
:
重命名数据库物理文件名称
USE
[master]GOALTER
DATABASE
DB_SHANGHAI
SET
OFFLINE
WITH
ROLLBACK
IMMEDIATEGOEXEC
xp_cmdshell
'RENAME
X:\DATA\DB_BEIJING.mdf,
DB_SHANGHAI.mdf'GOEXEC
xp_cmdshell
'RENAME
W:\Log\DB_BEIJING_log.ldf,
DB_SHANGHAI_log.ldf'GO
--step
6
:
将数据库逻辑名称指向新的物理文件,并将数据库online
USE
[master]GOALTER
DATABASE
DB_SHANGHAI
MODIFY
FILE
(NAME
=DB_SHANGHAI,
FILENAME
=
'X:\DATA\DB_SHANGHAI.mdf')GOALTER
DATABASE
DB_SHANGHAI
MODIFY
FILE
(NAME
=DB_SHANGHAI_log,
FILENAME
=
'W:\LOG\DB_SHANGHAI_log.ldf')GOALTER
DATABASE
DB_SHANGHAI
SET
ONLINE
--step
7
:
查看全部修改完成后的数据库情况USE
masterGOSELECT
name
AS
[Logical
Name],
physical_name
AS
[DB
File
Path],type_desc
AS
[File
Type],
state_desc
AS
[State]
FROM
sys.master_files
WHERE
database_id
=
DB_ID(N'DB_SHANGHAI')GO/*Logical
Name
DB
File
Path
File
Type
State
DB_SHANGHAI
X:\DATA\DB_SHANGHAI.mdf
ROWS
ONLINE

Ⅲ 怎样在mysql里面修改数据库名称

用这个命令抄备份数据库,然后创建新的数据库create
databases
new_databases;
再上传备份数据库mysql
-u
username
-ppasswd
new_databases<D:/back.sql
ok,删除旧的数据库就好了

Ⅳ 如何完整的修改一个数据库的名称

/*
该脚本示例如何完整的修改一个数据库的名称.
数据库为原名称为DB_BEIJING,需要修改成DB_SHANGHAI
nzperfect 2012.12.19
*/

--判断是否存在同名的数据库,以防止误删除
USE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'DB_BEIJING')
BEGIN
RAISERROR('请注意:数据库已存在!',15,1)
RETURN
--DROP DATABASE DB_BEIJING
END
GO

USE master
GO
--创建测试数库
CREATE DATABASE [DB_BEIJING]
ON PRIMARY
(
NAME = N'DB_BEIJING',
FILENAME = N'X:\DATA\DB_BEIJING.mdf' ,
SIZE = 3072KB ,
FILEGROWTH = 1024KB
)
LOG ON
(
NAME = N'DB_BEIJING_log',
FILENAME = N'W:\Log\DB_BEIJING_log.ldf' ,
SIZE = 1024KB ,
FILEGROWTH = 1024KB
)
GO

--以下为修改过程

--step 1 : 修改数据库名称
USE master
GO
ALTER DATABASE DB_BEIJING SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
EXEC master..sp_renamedb 'DB_BEIJING','DB_SHANGHAI'
GO
ALTER DATABASE DB_SHANGHAI SET MULTI_USER
GO

--step 2 : 查看修改名称后的数据库逻辑名及物理文件名
USE master
GO
SELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [File Type],
state_desc AS [State] FROM sys.master_files
WHERE database_id = DB_ID(N'DB_SHANGHAI')
GO
/*
Logical Name DB File Path File Type State
DB_BEIJING X:\DATA\DB_BEIJING.mdf ROWS ONLINE
DB_BEIJING_log W:\Log\DB_BEIJING_log.ldf LOG ONLINE
*/

--step 3 : 修改数据库逻辑文件名称
USE master
GO
ALTER DATABASE DB_SHANGHAI SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME=N'DB_BEIJING', NEWNAME=N'DB_SHANGHAI')
GO
ALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME=N'DB_BEIJING_log', NEWNAME=N'DB_SHANGHAI_log')
GO
ALTER DATABASE DB_SHANGHAI SET MULTI_USER
GO

--step 4 : 修改数据库物理文件名称之前先打开xp_cmdshell支持
USE master
GO
sp_configure 'show advanced options',1
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE WITH OVERRIDE
GO

--step 5 : 重命名数据库物理文件名称
USE [master]
GO
ALTER DATABASE DB_SHANGHAI SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
EXEC xp_cmdshell 'RENAME "X:\DATA\DB_BEIJING.mdf", "DB_SHANGHAI.mdf"'
GO
EXEC xp_cmdshell 'RENAME "W:\Log\DB_BEIJING_log.ldf", "DB_SHANGHAI_log.ldf"'
GO

--step 6 : 将数据库逻辑名称指向新的物理文件,并将数据库online
USE [master]
GO
ALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME =DB_SHANGHAI, FILENAME = 'X:\DATA\DB_SHANGHAI.mdf')
GO
ALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME =DB_SHANGHAI_log, FILENAME = 'W:\LOG\DB_SHANGHAI_log.ldf')
GO
ALTER DATABASE DB_SHANGHAI SET ONLINE

--step 7 : 查看全部修改完成后的数据库情况
USE master
GO
SELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [File Type],
state_desc AS [State] FROM sys.master_files
WHERE database_id = DB_ID(N'DB_SHANGHAI')
GO
/*
Logical Name DB File Path File Type State
DB_SHANGHAI X:\DATA\DB_SHANGHAI.mdf ROWS ONLINE
DB_SHANGHAI_log W:\LOG\DB_SHANGHAI_log.ldf LOG ONLINE
*/

--step 8 : 关闭xp_cmdshell支持
USE master
GO
sp_configure 'xp_cmdshell', 0
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'show advanced options',0
GO
RECONFIGURE WITH OVERRIDE
GO

Ⅳ SQL Server数据库里面怎么修改数据库的名字

其实在修改数据库名称之前,如果有用户连接到数据库的话会造成数据库重命名失败,可以先执行
select spid
from master.dbo.sysprocesses
where dbid=db_id('OldDbName')
结果集中显示的是当前连接到数据库OldDbName的连接比如结果是7981当然,实际值应该不是这两个然后执行kill 79kill 81关闭已建立的连接,之后再执行
EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE'
EXEC sp_renamedb 'OldDbName', 'NewDbName'
EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'
上述语句最好都在master数据库中执行。
另外也可以这样:
先分离数据库,然后附加的时候再修改就可以了
SQL Server不支持直接修改数据库名称

Ⅵ mysql 可以改数据库的名字吗

提供三种方法:
1. RENAME DATABASE db_name TO new_db_name
这个。。这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了。回
据说有可能丢失数据。答还是不要用的好。

2.如果所有表都是MyISAM类型的话,可以改文件夹的名字
关闭mysqld
把data目录中的db_name目录重命名为new_db_name
开启mysqld

3.重命名所有的表
CREATE DATABASE new_db_name;
RENAME TABLE db_name.table1 TO new_db_name.table1,
db_name.table2 TO new_db_name.table2;
DROP DATABASE db_name;

Ⅶ 如何更改SQL数据库名称

在查询分析器里执行
sp_rename '数据库原来的名字','数据库新名','database'

比如原来你的数据库是db1 你想修改为db2则语句为

sp_rename 'db1','db2','database'

Ⅷ sql server中如何修改数据库名称

未能排它地锁定数据库以执行该操作,出现了这样的错误!
说明有进程在使用着“学生”数据库,
停止SQL Server服务,然后再启动,(或者重启windows),
这样就可以使用前面几位说的方法重命名操作了,
例如:
use master
go
exec sp_renamedb '学生','教师';

Ⅸ 我想修改mysql数据库的名字,可以怎么修改

1、方法一:重命名所有的表,代码如下:

CREATE DATABASE new_db_name;

RENAME TABLE db_name.table1 TO new_db_name.table1,

db_name.table2 TO new_db_name.table2;

DROP DATABASE db_name;

Ⅹ 如何更改MySQL数据库的数据库名

修改名称详细步骤(因为不仅仅是上面那几步)mysql> use dinghao;mysql> select * from t1;+——+———–+| id | name |+——+———–+| 1 | 刘德华 | +——+———–+1 row in set (0.00 sec)mysql> show create table t1;+——-+————————————————————————————————————————-+| Table | Create Table |+——-+————————————————————————————————————————-+| t1 | CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL, `name` varchar(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +——-+————————————————————————————————————————-+1 row in set (0.00 sec)mysql> flush tables;Query OK, 0 rows affected (0.00 sec)mysql> flush logs;Query OK, 0 rows affected (0.00 sec)mysql> show processlist; #这一步主要查看有没有其他进程连接,要保证没有其他程序操作数据库。+—-+——+———–+———+———+——-+——-+——————+| Id | User | Host | db | Command | Time | State | Info |+—-+——+———–+———+———+——-+——-+——————+| 17 | root | localhost | dinghao | Query | 0 | NULL | show processlist | +—-+——+———–+———+———+——-+——-+——————+1 rows in set (0.00 sec)mysql> alter table t1 engine=MyISAM;Query OK, 1 row affected (0.01 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> exit[root@mysqludf var]# mv dinghao aaa;mysql> use aaa;Database changedmysql> alter table t1 engine=INNODB;Query OK, 1 row affected (0.00 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> select * from t1;+——+———–+| id | name |+——+———–+| 1 | 刘德华 | +——+———–+1 row in set (0.00 sec)注意,在改名之前必须现转换存储引擎,否则会报错,你想换的这个名称就换不成了,只能换另外一个名称了。错误的方法就不演示了,光记住好的就行了。

热点内容
涂鸦论文 发布:2021-03-31 13:04:48 浏览:698
手机数据库应用 发布:2021-03-31 13:04:28 浏览:353
版面217 发布:2021-03-31 13:04:18 浏览:587
知网不查的资源 发布:2021-03-31 13:03:43 浏览:713
基金赎回参考 发布:2021-03-31 13:02:08 浏览:489
悬疑故事范文 发布:2021-03-31 13:02:07 浏览:87
做简单的自我介绍范文 发布:2021-03-31 13:01:48 浏览:537
战略地图参考 发布:2021-03-31 13:01:09 浏览:463
收支模板 发布:2021-03-31 13:00:43 浏览:17
电气学术会议 发布:2021-03-31 13:00:32 浏览:731