0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MySQL入門 mysqlコマンドラインクライアント

Last updated at Posted at 2022-05-20

mysql(データベース管理システム)

データベースを管理するソフトウェアのこと

mysqlコマンドラインクライアント

mysqlサーバーはSQL文の命令として受け取ってさまざまな処理をする。
プログラミング言語で記述されたプログラムがSQL文を送出する。
そしてそのSQL文を実行するプログラムもある。
それがmysqlコマンドラインクライアントだ。

mysqlコマンドラインクライアントの起動

************@mbp training % mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.28 Homebrew

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

これがmysqlコマンドラインクライアントを起動させていたのか。
知らなかった。

いろいろオプションがあるようだか、これは飛ばす。

mysqlコマンドラインクライアントでの操作

mysql> SELECT id, name,
    ->        adress, zipcode
    ->   FROM mytable
    -> ;
ERROR 1046 (3D000): No database selected
mysql> SELECT id, name,address,zipcode FROM mytable;
ERROR 1046 (3D000): No database selected

この2つのコードの意味は同じである。

'> ">の途中

',"で閉じずに改行した場合は'>,">が表示される。
そして;で終端文字を入力しても閉じられていないので終わらない。
閉じた後に終端文字を入力すれば終わる。

ERROR 1046 (3D000): No database selected
mysql> SELECT id, name,
    ->        adress, 'zipcode
    '> ;
    '> '
    ->   FROM mytable
    -> ;
ERROR 1046 (3D000): No database selected

このコマンドを入力するとmytableから取り出せる。
ERROR 1046 (3D000): No database selectedが表示されたのは
まだテーブルを作成していないからだ。

結果を縦に出力

mysqlは通常は横向きに表示される。
このように

mysql> select * from users;
+----+--------------------+
| id | name               |
+----+--------------------+
| 60 | ブイゼル           |
| 61 | あ            |
| 62 | あ       |
| 63 | あ        |
| 64 | あ                 |
| 65 | あ        |
| 66 | あ                 |
| 67 | あ                 |
| 68 | あ                 |
| 69 | い                 |
| 70 | あ                 |
| 71 | あ                 |
| 72 | ブイゼル           |
| 73 | ブイゼル           |
| 74 | ブイゼル           |
| 75 | ブイゼル           |
| 76 | 早起き             |
| 77 | あ        |
| 78 | あ        |
+----+--------------------+
19 rows in set (0.00 sec)           |

終端文字;の代わりに\Gと入力すると縦向きに表示される。

mysql> select * from users\G
*************************** 1. row ***************************
  id: 60
name: あ
*************************** 2. row ***************************
  id: 61
name: あ
*************************** 3. row ***************************
  id: 62
name: a
*************************** 4. row ***************************
  id: 63
name: a
*************************** 5. row ***************************
  id: 64
name: あ
*************************** 6. row ***************************
  id: 65
name: a
*************************** 7. row ***************************
  id: 66
name: あ
*************************** 8. row ***************************
  id: 67
name: あ
*************************** 9. row ***************************
  id: 68
name: あ
*************************** 10. row ***************************
  id: 69
name: い
*************************** 11. row ***************************
  id: 70
name: あ
*************************** 12. row ***************************
  id: 71
name: あ
*************************** 13. row ***************************
  id: 72
name: ブイゼル
*************************** 14. row ***************************
  id: 73
name: ブイゼル
*************************** 15. row ***************************
  id: 74
name: ブイゼル
*************************** 16. row ***************************
  id: 75
name: ブイゼル
*************************** 17. row ***************************
  id: 76
name: 早起き
*************************** 18. row ***************************
  id: 77
name: a
*************************** 19. row ***************************
  id: 78
name: a
19 rows in set (0.00 sec)

このようになる。

縦表示に適しているは

カラム名が多いこと。
カラム名の文字列が長い場合。
またみて分かるが
件数の多いテーブルには適さない

mysqlコマンドラインクライアントの終了

exit,quit,\qの3種類で終了できる。

また起動しなければならない。

mysql> exit
Bye
******@mbp training %

対話モードとバッチモード

通常のmysqlコマンドラインクライアントは対話モードと言う。
今まで見てきたコマンドを打ってその後結果が表示される状態のこと。
そのほかにもう一つ状態それがバッチモードがある。
それはあらかじめファイルにファイルに記述しておいたSQL文を実行したり、コマンドラインに直接SQL文を記述する。

ちょっとこれはできなかった。
まぁ理解はできた。

mysqlコマンドラインクライアントのその他の情報

mysqlコマンドラインクライアント上で矢印キーの上、下を押すと入力履歴が呼び出せる。
入力途中でTabキーを押すとテーブル名やSQLの命令命令などを補完してくれるので入力時に便利。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?