MySQLでファイルを読み込ませて実行する方法
MYSQLを直接操作する時に、MYSQLに直接コードを書き込まないで、別にファイルを用意してそのファイルにコードを書いて実行したい、と言う場合がある。
今回は、MYSQLでファイルを読み込ませて実行する方法を紹介していく。
環境
CentOS 7.5。Linuxであれば、記事の通りに行えば上手くできると思う。
1,ファイルの絶対パスをチェックする
まずは読み込ませたいファイルの絶対パスを知るために、絶対パスを知りたいファイルがあるディレクトリに移動して、以下のコマンドを実行する。
readlink -f file.sql
参考記事:linux - How to get full path of a file? - Stack Overflow
ファイルのパスを検索するコマンドとしてfind
が有名だが、1つのファイルのパスだけ知りたい場合は、readlink
の方が使い勝手が良い。
2,MySQLのデータベースを開く
次にMySQLにログインして、use sample
等のコマンドで適当なデータベースを選択しよう。
そしてファイルを実行したい場合は、以下の様にすると良い。
source ファイルの絶対パス
また、以下の書き方でも実行できる。(こっちの方が簡潔で良い)
\. 絶対パス
ポイントとなるのは、コンマの方が後に書くこと。
参考記事:MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.5.1.5 テキストファイルから SQL ステートメントを実行する