web-dev-qa-db-ja.com

MySQLでデータベース名の大文字と小文字を変更するにはどうすればよいですか?

データベース名はSPMですが、spm(小文字)に変更したいと思います。

使ってみた

RENAME DATABASE SPM TO spm;

、次のエラーメッセージが表示されます。

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATABASE SPM to spm' at line 1

サーバーのバージョン:5.0.45

19
Rachel

それを行うデータベースコマンドはありません。基本的には、データベースの外で行う必要があります。以下は、可能な解決策の概要を示す参考資料です。これはかなりよく答えられています 質問

これはおそらく、あなたの場合は次のようになるはずです

mysqladmin create spm
mysqldump SPM | mysql spm

すべてが適切であることを確認したら、元のデータベースを削除できます。

drop database SPM

参照 データベースの名前を変更1 / データベースの名前を変更2

[" RENAME DATABASE "コマンドに関する注意:このステートメントはMySQL 5.1.7で追加されましたが、危険であることが判明し、MySQL 5.1.23で削除されました。]

29
Peter Lindqvist
RENAME {DATABASE | SCHEMA} db_name TO new_db_name;

このステートメントはMySQL 5.1.7で追加されましたが、危険であることが判明し、MySQL 5.1.23で削除されました。これは、5.1より前のデータベースをアップグレードして、データベース名をデータベースディレクトリ名にマッピングするために5.1で実装されたエンコーディングを使用できるようにすることを目的としています。ただし、このステートメントを使用すると、データベースの内容が失われる可能性があるため、削除されました。存在する以前のバージョンではRENAME DATABASEを使用しないでください。

新しいエンコーディングでデータベース名をアップグレードするタスクを実行するには、代わりにALTER DATABASE db_name UPGRADE DATA DIRECTORY NAMEを使用します。

3
krishna

Mysql_dumpを使用して古いスキーマのデータベースの内容をダンプし(SQL出力を生成し、すべてのオブジェクトのCREATEステートメントを含めることができます)、新しいスキーマに切り替えて、そのスクリプトを実行しますmysql> . dump.sql

大規模なデータベースの場合、これにはしばらく時間がかかる場合がありますが、これが最も安全な方法です(変換プロセスの進行中は、データベースを使用しているアプリケーションを中断してください)。

すべてが機能することを確認したら、古いスキーマを削除します。

1
MightyE

これは RENAME DATABASE ステートメント:

RENAME DATABASE old_db_name TO new_db_name;

このステートメントはMySQL 5.1.7で追加されましたが、危険であることが判明し、MySQL 5.1.23で削除されました。

0
dstibbe

Mysqlユーザーインターフェイスを使用してデータベース名を変更できます

ステップ1:まず、localhost/phpmyadmin /に移動し、データベースをクリックします

ステップ2:Opertaionタブをクリックします

手順3:テキストフィールド(データベースの名前を変更)に新しいデータベース名を入力します

ステップ4:Go Butttonをクリック

0