RENAME {DATABASE | SCHEMA}db_name
TOnew_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 で追加されました。