【MySQL】mysqlでLinuxコマンドを使う方法

## 概要
mysql (MySQL コマンドライン クライアント) で Linuxコマンド 使う方法です。

https://dev.mysql.com/doc/refman/8.0/ja/mysql.html
mysql (The MySQL Command-Line Client) は、入力行編集機能を持つシンプルなSQLシェルです。

## 環境
MySQL 8.0.28

## Linux コマンドの実行方法
mysql の system コマンドを使用します。

```sql
-- Linuxコマンドの実行
mysql> system [Linuxコマンド]
```

## 使用例
```shell_session
# MySQLへの接続
$ mysql -u[ユーザー名] -D[データベース名] -p[パスワード]
```

```sql
-- ファイルの作成
mysql> system touch hello.sql

-- ファイルの確認
mysql> system ls hello.sql
hello.sql

-- SQLファイルの編集
mysql> system vi hello.rb

-- SQLファイルの中身を確認
mysql> system cat hello.sql
SELECT 'Hello World';

-- SQLファイルの実行
mysql> source hello.sql
+-------------+
| Hello World |
+-------------+
| Hello World |
+-------------+
```

## その他の mysql コマンド
| Text Command     | Meta Command | Description(English)                                     | Description(Japanese)             |
| ---------------- | ------------ | -------------------------------------------------------- | --------------------------------- |
| ?                | \\?          | Synonym for `help'.                                      | helpと同義                           |
| clear            | \c           | Clear the current input statement.                       | 現在の入力文を消去する。                      |
| connect          | \r           | Reconnect to the server.                                 | サーバに再接続する。                        |
| delimiter        | \d           | Set statement delimiter.                                 | 文の区切り記号を設定する。                     |
| edit             | \e           | Edit command with $EDITOR.                               | EDITORでコマンドを編集する。                 |
| ego              | \G           | Send command to mysql server, display result vertically. | mysqlサーバにコマンドを送信し、結果を縦書きで表示する。    |
| exit             | \q           | Exit mysql. Same as quit.                                | mysqlを終了する。quit と同じ。              |
| go               | \g           | Send command to mysql server.                            | コマンドを mysql サーバに送信します。            |
| help             | \h           | Display this help.                                       | このヘルプを表示する。                       |
| nopager          | \n           | Disable pager, print to stdout.                          | ページャーを無効にし、標準出力にプリントする。           |
| notee            | \t           | Don't write into outfile.                                | アウトファイルには書き込まない。                  |
| pager            | \P           | Set PAGER [to_pager].                                    | PAGER を介してクエリ結果を出力する。             |
| print            | \p           | Print current command.                                   | 現在のコマンドを表示する。                     |
| prompt           | \R           | Change your mysql prompt.                                | mysqlのプロンプトを変更する。                 |
| quit             | \q           | Quit mysql.                                              | mysql を終了する。                      |
| rehash           | \\#          | Rebuild completion hash.                                 | 補完ハッシュを再構築する。                     |
| source           | \\.          | Execute an SQL script file.                              | SQL スクリプトファイルを実行する。引数としてファイル名を取る。 |
| status           | \s           | Get status information from the server.                  | サーバからステータス情報を取得する。                |
| system           | \\!           | Execute a system shell command.                         | システムシェルコマンドを実行する。                 |
| tee              | \T           | Set outfile [to_outfile].                                | 出力ファイルを設定する                       |
| use              | \u           | Use another database. Takes database name as argument.   | 別のデータベースを使用する。                    |
| charset          | \C           | Switch to another charset.                               | 別の文字コードに切り替える。                    |
| warnings         | \W           | Show warnings after every statement.                     | すべての文の後に警告を表示する。                  |
| nowarning        | \w           | Don't show warnings after every statement.               | すべてのステートメントの後に警告を表示しない。           |
| resetconnection  | \x           | Clean session context.                                   | セッション・コンテキストを消去する。                |
| query_attributes | \\           | Sets string parameters (name1 value1 name2 value2 ...)   | クエリー属性を定義します。                     |

## 参考
https://dev.mysql.com/doc/refman/8.0/ja/mysql.html

https://dev.mysql.com/doc/refman/8.0/ja/mysql-commands.html