はじめに
本記事では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)
まとめ
これで基本的な操作はできるようになったかと思います。
次回はデータベースやテーブルのバックアップについて説明したいと思います。