Database MariaDB/MySQL インフラ

[MySQL/MariaDB] mysqlコマンドでバッチ処理・直接実行

2018年8月16日

こんにちは!シミダイ(@shimidai2100)です。

MySQL・MariaDBの「mysql」コマンドでバッチ処理直接実行をさせる方法を紹介します。

この方法を使用することでシェルスクリプトやMS DOSからバッチ処理を行え、スケジューリングして定期実行させることもできます。

mysqlコマンドはMySQL・MariaDBのCUIで、SQL文だけでなく強力なメタコマンドもある非常に便利なコマンドです。

DBはインストールされている前提ですので、MariaDB・MySQLのインストール方法は下の記事を参考にしてください。

LinuxへのMariaDBのインストールとデータベース作成

こんにちは!シミダイ(@shimidai2100)です。 Linux上でMariaDBをインストールする手順とデータベー ...

続きを見る


SQLファイル等をバッチ処理

「mysql」コマンドでSQLファイル等をバッチ処理する時にするには、「<」を使用します。

mysql [db_name] -u [username] -p[password] < [batch_file]

ファイル名の拡張子の指定はなく、通常のテキスト形式でSQL文を記載すれば使用できます。

以下が実行例です。

$ cat batch.sql
select * from test001.tab001;

$ mysql test001 -u test001 -ppassword < batch.sql
col01   col02
00000   00000
00001   00001
00002   00002
00003   00003

インラインでSQLを直接実行

「mysql」コマンドでSQL文を直接実行するには、「-e」オプションを使用します。

mysql [db_name] -u [username] -p[password] -e "SQL Statement"

以下が実行例です。

$ mysql test001 -u test001 -ppassword -e "select * from test001.tab001;"
+-------+-------+
| col01 | col02 |
+-------+-------+
| 00000 | 00000 |
| 00001 | 00001 |
| 00002 | 00002 |
| 00003 | 00003 |
+-------+-------+

 

 

関連記事

-Database, MariaDB/MySQL, インフラ

Copyright© shimidai2100 , 2020 All Rights Reserved.