MySQLについての学習

はじめに

MySQLがよくわからないので、簡単な記事にしながら学習していこうと思います。

環境・バージョン

環境 バージョン
Windows 10
MySQL 8.0.26

コマンド

目次

起動

コマンドプロンプトからの起動には以下のコマンドを用いる。-uオプションはコマンド実行のユーザーを指定しています。この場合は、rootが指定されているためルート権限でコマンドを実行しています。

-pオプションは、パスワードの入力です。このコマンドを実行しており、パスワードを指定していた場合はパスワードの入力が求められます。

mysql -u root -p

コメント

コメントは、3種類存在します。#文字はその文字から行末まで。--シーケンスはその記号から行末まで。/* */はその間にある文字列(複数行)をコメントにします。

# このコメントは行末まで続きます。

-- このコメントは行末まで続きます。空白を挟む必要があります。

/*
このコメントは、
複数行にわたります。
*/

show

showコマンドを用いて、データベース、テーブル、カラムに関する情報、またはサーバーに関するステータス情報などを取得することが出来ます。

例えば、データベース一覧を見るために、show databases を入力します。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.01 sec)

また、後述するuseで使用するデータベースを決めた状態で、show を用いてテーブル一覧を表示する場合は以下の通りです。

mysql> show tables;
中略
37 rows in set (0.00 sec)

use

use を用いて使用するデータベースを指定する。このuseは仕様上、セミコロンはあってもなくても変わりません。

mysql> use mysql;
Database changed

select

select は、1つ以上のテーブルから選択された行を取得するために使用されます。よく見るのが、以下の形です。

SELECT row_name FROM table_name

テーブルにuserがあり、selectを用いてそのテーブルの中身を表示する場合は以下の通りになります。すべての項目を表示する場合は、select * from user\Gのように書きます。表示が長すぎるため、最後に\Gを付けて見れるようにします。

mysql> select Host, User from user;
+-----------+------------------+
| Host      | User             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.00 sec)

また、selectを使用して、どのテーブルも参照せずに計算された行を取得することも出来ます。

mysql> select 1 + 1;
+-------+
| 1 + 1 |
+-------+
|     2 |
+-------+
1 row in set (0.00 sec)

おわり

疲れたのでこの辺で一度止めておきます。なんとなーく分かってきたような気がするので、ちょっと頑張ろうと思っています。

オラクルのMySQLの画像を使いたかったけど、画像の使用にあたってリンク先の設定とかが面倒そうだったので諦めました。

参考

MySQL :: MySQL 5.6 リファレンスマニュアル :: 3.3 データベースの作成と使用
MySQL :: MySQL 5.6 リファレンスマニュアル :: 9.6 コメントの構文
MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.7.5 SHOW 構文
MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.9 SELECT 構文
MySQL 入門 - Qiita
【 sudo 】コマンド――スーパーユーザー(rootユーザー)の権限でコマンドを実行する:Linux基本コマンドTips(68) - @IT