【问题标题】:Rename mysql database?重命名mysql数据库?
【发布时间】:2012-11-30 10:55:24
【问题描述】:

如何使用查询重命名 MySQL 数据库名称?

我通过 phpmyadmin 尝试了rename 数据库并得到以下错误,

SQL query:

    RENAME DATABASE test TO test_bkp

MySQL said: 

    #1064 - 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 test To test_bkp' at line 1

【问题讨论】:

  • phpMyAdmin 的重点是提供一个 GUI,这样您就不必自己编写此类查询

标签: mysql phpmyadmin


【解决方案1】:

上面写着here

此语句是在 MySQL 5.1.7 中添加的,但被发现有危险 并在 MySQL 5.1.23 中被删除。它旨在实现升级 pre-5.1 数据库使用 5.1 中实现的编码进行映射 数据库名称到数据库目录名称(参见第 9.2.3 节, “标识符到文件名的映射”)。然而,使用这个 语句可能会导致数据库内容丢失,这就是为什么它 去掉了。不要在早期版本中使用 RENAME DATABASE 它存在。

您可以将所有数据导入新数据库,然后删除旧数据库。

也可以使用 RENAME TABLE 语句,使用相同的 from/to 表名但不同的 from/to 数据库。有几个问题。

CREATE DATABASE `test_bkp`;

RENAME TABLE 
`test`.`table1` TO `test_bkp`.`table1`,
`test`.`table2` TO `test_bkp`.`table2`,
`test`.`table3` TO `test_bkp`.`table3`;

【讨论】:

  • Oracle 网站上不再提供 5.1 手册。 (但可能可以在其他地方找到。)随时向bugs.mysql.com/86289 添加评论。或者至少点击“影响我”。
【解决方案2】:

在 phpmyadmin 中,您只需单击您的数据库,然后转到“操作”选项卡即可对其进行重命名。

【讨论】:

  • 最新XAMPP中也删除了
  • 不,这取决于 MySQL 版本和 PMA 版本
【解决方案3】:

您可以导出数据库表,创建一个新表并将表导入新数据库! 您也可以通过选择您的数据库并单击操作选项卡并重命名您的数据库来使用 phpmyadmin 重命名您的数据库! 最后一种不推荐的方法是创建一个新数据库并使用它,但您可能会丢失数据!

CREATE DATABASE new_db_name / DROP DATABASE old_db_name

【讨论】:

  • 哈米德,你读过萨尔曼的帖子吗?他已经提到了这个想法。
【解决方案4】:

它已被开发人员禁用。见http://dev.mysql.com/doc/refman/5.1/en/rename-database.html

除此之外,我会使用副本(然后删除)而不是重命名。看看Cloning a MySQL database on the same MySql instance

【讨论】:

  • 我收到了错误,SQL query: ALTER DATABASE test_bkp UPGRADE DATA DIRECTORY NAME; MySQL 说:#1221 - Incorrect usage of ALTER DATABASE UPGRADE DATA DIRECTORY NAME and name
【解决方案5】:

您可以在 MySQL

RENAME {DATABASE | SCHEMA} db_name TO new_db_name;

在以后的版本中看看

ALTER {DATABASE | SCHEMA} [db_name]

【讨论】:

  • 我试了查询,又报错了,SQL query:RENAME { DATABASE | SCHEMA}test TO test_bkp; MySQL说:#1064 - 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 | SCHEMA} test TO test_bkp' at line 1
  • 嗨,{数据库 | SCHEMA} 只是一个占位符,使用 DATABASE。
【解决方案6】:

好的,如果重命名选项没有显示,这里是使用 phpMyAdmin 克隆数据库的快速方法:

  • 打开要复制的数据库
  • 单击“操作”选项卡。
  • 在“将数据库复制到:”处输入新数据库的名称。 选择“结构和数据”以复制所有内容或“仅结构” 选中“复制前创建数据库”框以创建新数据库。 选中“添加 AUTO_INCREMENT 值”框。 单击“开始”按钮继续。 注意在删除旧数据库之前,请确保密码也已复制过来。

【讨论】:

    【解决方案7】:

    在 wamp 服务器中 点击数据库 然后选择你的数据库 从标题菜单中选择操作 起新名字 它将重命名数据库 但实际上它会创建一个新数据库,复制所有数据然后删除旧数据库

    【讨论】:

      【解决方案8】:
      1. 导出当前数据库。
      2. 使用您想要的名称创建一个新数据库。
      3. 在新数据库中导入旧数据库文件。

      【讨论】:

        【解决方案9】:

        嗯,可以重命名您的数据库,但这里是重命名选项背后的逻辑。

        1. Xampp creates a new database with the name
        2. Xampp copies all table and data in it from the previous database
        3. Xampp migrates data to the new database table and drops the previous database
        

        重命名数据库的步骤

        1. Click the Operations option in the nav pane
        2. Find the ' Rename database to ' Spot, and input new name in the input field
        3. Tick the ' Adjust privileges ' checkbox
        4. Click go
        

        我希望这有效! :)

        【讨论】:

          猜你喜欢
          • 2016-07-06
          • 2012-08-24
          • 2011-08-19
          • 2017-10-04
          • 1970-01-01
          • 2020-04-30
          • 2011-07-30
          • 1970-01-01
          • 2010-09-13
          相关资源
          最近更新 更多