实践出真知

     Mysql中,可以使用: RENAME {DATABASE | SCHEMA} db_name TO new_db_name; 来修改database的名字。(database和schema的含义一样)。

 

     比较疑惑的是,网上的某些方法是修改data目录下的文件名(文件名和数据库名相同),说这种方法只适合引擎为MyISAM的。对于INNODB,有一些方法:

    1、备份原始数据库,再把数据导入到新的数据库。必然可行,但太麻烦了,如果数据量很大,需要花较长时间。

    2、先把table的存储引擎改为MyISAM,再去data目录修改文件名。

    3、作者称是比较好的方法:

        假设源库名是’srcdb’,目标库名是’trgdb’
        首先创建目标库
        create database trgdb;
        获取所有源库的表名
        use information_schema;
       select table_name from TABLES where TABLE_SCHEMA=’srcdb’;
       然后按照以下命令一个个修改
       rename table srcdb.[tablename] to trgdb.[tablename];
       一个个执行下来之后表就转到新的库里面了.

 

      然后作者说:网上瞎咧咧的什么RENAME DATABASE或者ALTER DATABASE都是不行的。

     

     本来,我是不打算评论什么的。3也是一种方法,我没有去试过,但应该是可行的。只是“瞎咧咧”三个字让我非常不舒服。于是,我就在作者的启发下,去Mysql的手册里搜了一些。结果:RENAME {DATABASE | SCHEMA} db_name TO new_db_name;  写得清清楚楚,明明白白。可作者写得那么坚定,我还是不能放心呀,于是在自己的电脑了运行了一个例子。结果,数据库名顺利更改,没有任何的问题。

 

     提出自己的观点, 否定一种方法,本毋庸置疑。可作为帖子发在网上,其他的人也会看到。这样一来,就很可能会误导他人。否定一种观点时,是否做过实验?是否有依据?每个人的观点都可能出现偏差,但那信口开河般的否定,还说的信誓旦旦,就让人很不舒服。  

 

     这次的经历,也算是得到了一些经验和教训。古有“尽信书,不如无书”之说,同样适用于今天的互联网。开发遇到问题时,可以马上google,可以参考别人的网页,但不能一味地相信。套用一句政治哲理:实践才是检验真理的唯一标准。

   

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值