MySQL手册中有介绍。
通常我只是转储数据库并用一个新名称重新导入它。这不是非常大的数据库的一个选项。重命名数据库| SCHEMA} db_name TO new_db_name做坏事,只存在于少数版本中,总的来说是个坏主意。
这需要与InnoDB一起工作,InnoDB存储的东西与MyISAM非常不同。
MySQL手册中有介绍。
通常我只是转储数据库并用一个新名称重新导入它。这不是非常大的数据库的一个选项。重命名数据库| SCHEMA} db_name TO new_db_name做坏事,只存在于少数版本中,总的来说是个坏主意。
这需要与InnoDB一起工作,InnoDB存储的东西与MyISAM非常不同。
当前回答
ALTER DATABASE是MySQL建议的解决方法,RENAME DATABASE被删除。
从13.1.32 RENAME数据库语法:
RENAME {DATABASE | SCHEMA} db_name TO new_db_name;
此语句是在MySQL 5.1.7中添加的,但被发现是危险的,在MySQL 5.1.23中被删除。
其他回答
最简单的方法是使用HeidiSQL软件。它是免费的,开源的。它可以在Windows和任何带有Wine的Linux上运行(在Linux、BSD、Solaris和Mac OS X上运行Windows应用程序)。
这是HeidiSQL的下载,转到 http://www.heidisql.com/download.php。
下载Wine,请登录http://www.winehq.org/。
要在HeidiSQL中重命名数据库,只需右键单击数据库名称并选择“Edit”。然后输入一个新名称并按“OK”。
就是这么简单。
UPDATE `db`SET Db = 'new_db_name' where Db = 'old_db_name';
当您在PHPMyAdmin中重命名数据库时,它会创建一个转储,然后删除并使用新名称重新创建数据库。
I).没有办法直接改变现有数据库的名称 但你可以透过以下步骤达到目标:- 1).创建newdb。 2).使用newdb。 3). create table table_name(select * from olddb.table_name);
通过这样做,你复制数据从表的olddb和插入那些在newdb表。给表的名称相同。
II).重命名表old_db。table_name TO new_db.table_name;
我是这样做的: 对现有数据库进行备份。它将为您提供一个db.zip.tmp,然后在命令提示符中写入以下内容
"C:\Program Files (x86)\MySQL\MySQL Server 5.6\bin\ MySQL .exe localhost -u root -p[password][新数据库名]< "C:\Backups\db.zip.tmp"