MySQLの使い方【基本編】

永井
2022-09-20
2022-09-20

はじめに


本記事ではMySQLの基本的な使い方について解説します。

基本編は以下の内容になっています。
1. DBの追加
2. テーブルの作成
3. データの挿入・削除・更新

基本的な使い方



DBの追加
はじめに現在の状況の確認をしておきます。
DBの一覧を表示させます。


mysql> show databases;
出力
+--------------------+
| Database           |
+--------------------+
| board              |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wp                 |
+--------------------+
DBの追加をしていきます。
以下のコマンドで追加することができます。
>mysql> create database [DB名];

今回は「hoge」というDBを追加します。


mysql> create database hoge;
出力
Query OK, 0 rows affected (0.05 sec)


一覧を表示させ、追加されたか確認する。


mysql> show databases;
出力
+--------------------+
| Database           |
+--------------------+
| board              |
| hoge               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wp                 |
+--------------------+


テーブルの作成

まず先ほど作ったDBを使用するようにします。


mysql> use hoge;
Database changed


テーブルの作成をします。

コマンドは以下のようになる。
>mysql> create table user(カラム1 型宣言, カラム2 型宣言);

型宣言の後にスペースを入れ、オプションを追加することもできます。


mysql> create table user(id int auto_increment, name text, duty boolean not null default 0, primary key (id));
出力
Query OK, 0 rows affected (0.45 sec)


- int型
- 整数のデータ
- text
- 文字や文字列などのテキストデータ
- boolean
- TrueかFalseのデータ型。0の場合Falseになり、それ以外の場合Trueになる。
- auto_increment
- データ挿入時にデータがなかった場合、自動で値を追加する
- not null default 0
- 空のデータにはならず、何も指定されない場合は0を挿入する
- primary key
- 重複のないデータ

テーブルの確認

mysql> show tables;
出力
+----------------+
| Tables_in_hoge |
+----------------+
| user           |
+----------------+


テーブルの構造確認を行います。

しっかり設定した状態になっていることが確認できます。


mysql> describe user;
出力
+-------+------------+------+-----+---------+----------------+
| Field | Type       | Null | Key | Default | Extra          |
+-------+------------+------+-----+---------+----------------+
| id    | int        | NO   | PRI | NULL    | auto_increment |
| name  | text       | YES  |     | NULL    |                |
| duty  | tinyint(1) | NO   |     | 0       |                |
+-------+------------+------+-----+---------+----------------+


データの追加を行います。

コマンドは以下の通りです。
>mysql> insert into テーブル名(カラム1,カラム2) values (値1,値2);

今回は名前だけ指定してデータを挿入します。

mysql> insert into user(name) values ("田中");
出力
Query OK, 1 row affected (0.02 sec)


データを入れることができたら、テーブル内の値を取得して確認します。

取得は以下のコマンドでできます。

>mysql> select カラム名 from テーブル名

カラム名の部分を「*」にすることでテーブル内の全ての値を取得することができます。

idとdutyは指定していないですが、ちゃんと挿入されていることが確認できます。

mysql> select * from user;
出力
+----+--------+------+
| id | name   | duty |
+----+--------+------+
| 1  | 田中   |     0|
+----+--------+------+
1 row in set (0.00 sec)


dutyを指定する場合です。

この場合は1となり判定的には「True」になります。


mysql> insert into user(name, duty) values ("佐藤",1);
出力
Query OK, 1 row affected (0.04 sec)


確認

mysql> select * from user;
出力
+----+--------+------+
| id | name   | duty |
+----+--------+------+
| 1  | 田中   |     0|
| 2  | 佐藤   |     1|
+----+--------+------+
2 rows in set (0.00 sec)


次にデータの削除を行います。

削除のコマンドです。
> mysql> delete from テーブル where 条件;

条件は今回「i=2」としていますが、「id<3」(idが3未満)という形にもできます。


mysql> delete from user where id = 2;
出力
Query OK, 1 row affected (0.05 sec)


id2のデータが消えていることが確認できます。


mysql> select * from user;
出力
+----+--------+------+
| id | name   | duty |
+----+--------+------+
| 1  | 田中   |     0|
+----+--------+------+
1 row in set (0.00 sec)


データの更新をする前にとりあえず3つデータを追加しました。


mysql> select * from user;
出力
+----+--------+------+
| id | name   | duty |
+----+--------+------+
| 1  | 田中   |     0|
| 3  | 佐藤   |     0|
| 4  | 野比   |     0|
| 5  | 骨川   |     0|
+----+--------+------+

データの更新を行います。

変更内容:佐藤のdutyを0から1に変更する

更新は次のコマンドになります。

>mysql> update テーブル set 変更内容 where 条件;

今回は変更内容をduty=1に条件をid=3にしています。


mysql> update user set duty=1 where id = 3;
出力
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0


値の更新ができているかを確認します。


mysql> select * from user;
出力
+----+--------+------+
| id | name | duty |
+----+--------+------+
| 1  | 田中 |      0 |
| 3  | 佐藤 |      1 |
| 4  | 野比 |      0 |
| 5  | 骨川 |      0 |
+----+--------+------+
4 rows in set (0.00 sec)

まとめ


これで基本的な操作はできるようになったかと思います。
次回はデータベースやテーブルのバックアップについて説明したいと思います。