【MySQL】SQLファイルの実行
MySQLのSQLファイル実行を解説します。
SQLファイル
SQLファイルはSQLで記述されたテキストファイルです。
一般的に拡張子はsqlです。
同じ処理を繰り返す場合や複雑な処理などをSQLファイルとして作成しておくことで入力の手間を省き、ミスを減らすことができます。
実行
SQLファイルをMySQLで実行することができます。
実行方法は3パターンあります。
次のデータベースとSQLファイルを元に確認していきましょう。
mysql> SELECT * FROM mydb.items;
+----+-----------+-------+-------+
| id | name | price | stock |
+----+-----------+-------+-------+
| 1 | Apple | 200 | 10 |
| 2 | Orange | 150 | 3 |
| 3 | Pineapple | 1100 | 1 |
| 4 | Grapes | 3500 | 1 |
+----+-----------+-------+-------+
4 rows in set (0.00 sec)
SELECT * FROM mydb.items;
sourceコマンド
MySQLに接続し、source
コマンドでSQLファイルを実行します。
基本構文
source SQLファイルパス
サンプル
mysql> source ./sample.sql;
+----+-----------+-------+-------+
| id | name | price | stock |
+----+-----------+-------+-------+
| 1 | Apple | 200 | 10 |
| 2 | Orange | 150 | 3 |
| 3 | Pineapple | 1100 | 1 |
| 4 | Grapes | 3500 | 1 |
+----+-----------+-------+-------+
4 rows in set (0.00 sec)
\.コマンド
MySQLに接続し、\.
コマンドでSQLファイルを実行します。
基本構文
\. SQLファイルパス
source
コマンドのsource
を\.
に置き換えた構文と同じです。
ただし、文末にセミコロン(;
)を付けるとエラーになるので注意してください。
サンプル
mysql> \. ./sample.sql
+----+-----------+-------+-------+
| id | name | price | stock |
+----+-----------+-------+-------+
| 1 | Apple | 200 | 10 |
| 2 | Orange | 150 | 3 |
| 3 | Pineapple | 1100 | 1 |
| 4 | Grapes | 3500 | 1 |
+----+-----------+-------+-------+
4 rows in set (0.00 sec)
mysqlコマンド
MySQLの接続前にmysql
コマンドでSQLファイルを実行します。
基本構文
$ mysql -u ユーザー -p < ファイルパス
サンプル
$ mysql -u root -p < ./sample.sql
Enter password:
id name price stock
1 Apple 200 10
2 Orange 150 3
3 Pineapple 1100 1
4 Grapes 3500 1