Leider ist es nicht möglich ein Schema bzw. Datenbank in MySQL mittels eines SQL-Standard-Befehls umzubennen. Hier folgen einige Workarounds:
SQL-Kommando in einer Bash-Schleife
mysql [OPTIONS] old_schema -sNe 'show tables' | while read table; do mysql [OPTIONS] -sNe "RENAME TABLE old_schema.$table TO old_schema.$table"; done
mysqldump
mysqldump [OPTIONS] --database oldSchema > oldSchema.sql mysql new_schema < oldSchema.sql
ein SQL-Kommando bauen
SET SESSION group_concat_max_len = 4294967295; SELECT CONCAT( 'RENAME TABLE ', GROUP_CONCAT( table_schema,'.',table_name, ' TO ','new_schema.',table_name,' ' ), ';' ) as stmt FROM information_schema.TABLES WHERE table_schema LIKE 'oldSchema' GROUP BY table_schema;
Welche Alternative man jetzt nimmt, ist zum einen Geschmacksache und zum Anderen hängt es von der Datenbank ab, z.B. ist sie Groß, steht sie unter Dampf etc.