はじめに
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