MySQL

未分類

【MySQL】SQLを外部ファイルから実行する方法

データベースに登録されているデータが(運用の都合上から)あまりにおかしな具合になっていたので、15,000件ほどを手で修正し、アップデートするというアホな作業を経験してしましました。

その際、テキストファイルにアップデート用SQLを書き、MySQLからそのファイルを指定して実行するということをしたので、その方法を備忘録としてポストしておきます。

1. 外部ファイルにSQLを書く

まずはテキストファイルに実行したい内容のSQLを書きます。
今回は UPDATE 文でしたが、INSERT 文でも DELETE 文でも実行可能だと思います。

日本語を扱う際は必ず、データベースと同じ文字コードで保存すること。
私の場合(多くはそうだと思いますが)は UTF-8 です。

「sqlfile.txt」として、任意のパスへ保存。

2. コンソールからmysqlへ接続

コンソール(今回はDOSプロンプト)から、mysql に接続します。

show databases; でデータベース一覧を表示。

use コマンドで、扱うデータベースを指定します。

これで「toogiedevelop」データベースを取り扱うこととなります。

テーブルの一覧は show tables; で取得可能。

3. sourceコマンドでファイルに記述したSQLを実行

以上で完了です。簡単。

10件ぐらいですと1秒かからずに実行完了しますが、15,000件となると5分以上かかってしまいました。
5,000件ずつ別ファイルに分割するなど、調整が必要なところでしょうか。

なるほどですね。

-未分類
-, ,