我的数据库名称为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
答案 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服务器,并将包含数据库数据的文件夹重命名为您喜欢的名称。然后启动服务器并检查授权 - 它们可能仍包含对旧数据库名称的引用。