【MySQL】コマンドラインからeオプションでSQLを直接実行してみた結果
ここではMySQLで、コマンドラインからeオプションでSQLを直接実行してみた結果を紹介しています。
コマンドラインからSQLを直接実行してみた結果
eオプションを指定することで、mysqlコマンドと同時にSQLを直接実行することが出来ます。
mysql -h ホスト名 -u ユーザー名 -p DB名 -e "SQL文"
>mysql -u user -p db -e "SELECT * FROM tab1;"
Enter password: *****
+--------+----------+-------+------+
| emp_id | emp_name | dept | age |
+--------+----------+-------+------+
| 00001 | Suzuki | HR | 28 |
| 00002 | Tanaka | SALES | 25 |
| 00003 | Kizaki | SALES | 35 |
| 00004 | Tanaka | DEV | 45 |
| 00005 | Kizaki | DEV | 55 |
| 00006 | Nakata | DEV | 35 |
+--------+----------+-------+------+
次のようにexecuteとして記述することも出来ました。
>mysql -u user -p db --execute="SELECT * FROM tab1;"
Enter password: ****
+--------+----------+-------+------+
| emp_id | emp_name | dept | age |
+--------+----------+-------+------+
| 00001 | Suzuki | HR | 28 |
| 00002 | Tanaka | SALES | 25 |
| 00003 | Kizaki | SALES | 35 |
| 00004 | Tanaka | DEV | 45 |
| 00005 | Kizaki | DEV | 55 |
| 00006 | Nakata | DEV | 35 |
+--------+----------+-------+------+
また、次のようにSQL文を;(セミコロン)で区切ることで複数のSQLを実行することもできます。
>mysql -u user -p db -e "SELECT 1+1;SELECT NOW();"
Enter password: ****
+-----+
| 1+1 |
+-----+
| 2 |
+-----+
+---------------------+
| NOW() |
+---------------------+
| 2020-02-10 19:16:00 |
+---------------------+