RENAME {DATABASE | SCHEMA} db_name TO new_db_name;
このステートメントはデータベースをリネームします。これは、データベースの
ALTER と DROP
権限、そして新しいデータベースのCREATE
権限を必要とします。RENAME SCHEMA
は RENAME DATABASE の同義語です。
サーバがこのステートメントを受け取る時、新しいデータベースを作成します。そしてそれは、テーブルと、トリガなどのようなその他のデータベース
オブジェクトを新しいデータベースに移動します。それはまた、格納されたルーチンやイベントなどのようなオブジェクトのシステム
テーブルに Db
カラムを更新します。最後に、サーバは古いデータベースをドロップします。
現在はこれらの制限がありますので注意してください。
RENAME DATABASE はシステム
テーブル内にリストされたアカウント権限を変更しません。それらは手動で変更しなければいけません。
RENAME DATABASE
は、格納されたルーチンやイベントを新しいスキーマ名に移動しません。これは、次のような事を意味します。
格納されたルーチンに対しては、INFORMATION_SCHEMA.ROUTINES
テーブルの ROUTINE_SCHEMA
カラム内の、そして
mysql.proc テーブルの
db
カラムの値の変更を行いません。
イベントに対しては、INFORMATION_SCHEMA.EVENTS
テーブルの EVENT_SCHEMA
カラム内の、そして
mysql.event テーブルの
db
カラムの値の変更を行いません。
このステートメントは、MySQL 5.1.7 で追加されました。
