为啥数据库SQL语令中没有修改数据库名字的语令呢?

原因主要有下:1:通过rename database name to new_name可能会产生数据丢失的危险情况。

                          2:在这条命令在MySQL 5.1.7的时候被添加进来,5.1.23的时候又被去掉了,可能开发人员就是为了避免这一点吧。

目前主要方法有三种:

常见的主要有三种方法:

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

  2. 新建数据库,在新的数据库里重命名所有旧数据库中的表,再删除旧的数据库。具体操作命令如下:创建新的数据库→重命名数据表名称→删除旧的数据库。

     

    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;

  3. 利用mysqldump命令从旧的数据导出数据,再导入新数据库。具体操作命令如下:导出数据→创建新的数据库→导入数据→删除旧的数据库。

    mysqldump -u root -p -h ip db_name > db_name_dump.SQL
    mysql -u root -p -h ip -e “CREATE DATABASE new_db_name”
    mysql -u root -p -h ip new_db_name < db_name_dump.SQL
    mysql -u root -p -h ip -e “DROP DATABASE db_name”

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值