MySQL中利用RENAME TABLE快速高效重新命名庫(schema)

來源:互聯網
上載者:User

MySQL中利用RENAME TABLE快速高效重新命名庫(schema)

目前的MySQL中一旦建立的了新的庫(schema)就無法對它進行重新命名,所以如果需要對一個庫重新命名一般的做法是把目標庫中的資料dump出來後匯入想重新命名的新庫中,在MySQL的匯入中是使用大量的insert,大量使用了DML,如果是大資料量的庫那就很低效,其實在MySQL中可以利用RENAME TABLE這種DDL的方式來移動表資料後來重新命名庫,下面就簡單的介紹一下。首先,RENAME TABLE使用方法很簡單:

RENAME  TABLE  old_table  TO  new_table;

由此在平時就可以通過查詢MySQL的information_schema.TABLES這張字典表獲得相應目標庫的資料,如在MySQL中有一個test的庫需要重新命名為test2:

CREATE  DATABASE  test2;#先建好test2  SELECT     CONCAT( 'RENAME TABLE test.' ,TABLE_NAME, ' TO test2.' ,TABLE_NAME, ';' ) DDL FROM     information_schema.`TABLES` WHERE     TABLE_SCHEMA =  'test' ; #產生test轉移至test2的DDL後複製執行 DROP  DATABASE  test;#最後再刪除舊庫

不過需要注意的是該方式需要有一定的許可權

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.