如何在MySQL中更改数据库名称的大小写?

时间:2009-11-10 15:08:23

标签: mysql database rename

我的数据库名称为SPM,我想将其更改为spm(小写字母)。

我尝试使用

RENAME DATABASE SPM TO spm;

,但我收到以下错误消息:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATABASE SPM to spm' at line 1

我的服务器版本:5.0.45

6 个答案:

答案 0 :(得分:29)

没有数据库命令可以执行此操作。你基本上必须在数据库之外做。以下是一些概述可能解决方案的参考。在question

中已经得到了很好的回答

这可能就像你的情况一样

mysqladmin create spm
mysqldump SPM | mysql spm

在确认一切正常后,您可以删除原始数据库。

drop database SPM

参考 Rename database 1 / Rename database 2

[关于“RENAME DATABASE”命令的注释:这个语句是在MySQL 5.1.7中添加的,但是发现它很危险,在MySQL 5.1.23中删除了。]

答案 1 :(得分:3)

RENAME {DATABASE | SCHEMA} db_name TO new_db_name;

此声明已添加到MySQL 5.1.7中,但发现它很危险,并已在MySQL 5.1.23中删除。它旨在使升级5.1之前的数据库能够使用5.1中实现的编码将数据库名称映射到数据库目录名称。但是,使用此语句可能会导致数据库内容丢失,这就是删除它的原因。不要在存在它的早期版本中使用RENAME DATABASE

要执行使用新编码升级数据库名称的任务,请改用ALTER DATABASE db_name UPGRADE DATA DIRECTORY NAME

答案 2 :(得分:1)

使用mysql_dump转储旧架构的数据库内容(它生成SQL输出,并且可以包含所有对象CREATE语句),切换到新架构,然后执行该脚本mysql> . dump.sql

如果它是一个大型数据库,这可能需要一段时间,但这是最安全的方法(确保在转换过程中使用数据库挂起任何应用程序)。

当您对一切都运作满意时,删除旧架构。

答案 3 :(得分:0)

这是通过RENAME DATABASE声明完成的:

RENAME DATABASE old_db_name TO new_db_name;

此声明已添加到MySQL 5.1.7中,但发现它很危险,已在MySQL 5.1.23中删除。

答案 4 :(得分:0)

您可以使用Mysql用户界面

更改数据库名称

步骤1:首先转到localhost / phpmyadmin /并单击您的数据库

步骤2:点击Opertaion标签

步骤3:在(重命名数据库到)文本字段

中输入新数据库名称

Step4:点击Go Buttton

答案 5 :(得分:-1)

使用rename database命令。

您还可以尝试停止mysql服务器,并将包含数据库数据的文件夹重命名为您喜欢的名称。然后启动服务器并检查授权 - 它们可能仍包含对旧数据库名称的引用。