MySQLでRENAME DATABASEするワンライナー

MySQLに"RENAME DATABASE"構文は存在しないため、"RENAME TABLE"構文で全テーブルをリネームする手法が取られるようです。

環境

ワンライナー

$ mysql -uroot -p -e "select distinct concat('rename table ', t.table_schema, '.', t.table_name, ' to ', 'new_db_name', '.', t.table_name, ';') as rename_table from information_schema.tables as t where t.table_schema='old_db_name';" -N -s | mysql -uroot -p

参考