読者です 読者をやめる 読者になる 読者になる

Develop and Design Note

フロントエンドなデザイナーの覚書

データーベース「くだもの表」を作ってみた

MySQL

MySQLを使った超簡単なデータベース「くだもの表」を作ってみました。

MySQLのインストール

homebrewを使ってMySQLをインストールします。

$ brew install mysql

インストールできたら、MySQLの情報を見てみましょう。MySQLのバージョンや接続方法などが表示されます。

$ brew info mysql

インストールできたら、MySQLを起動して、接続します。

$ mysql.server start //MySQLの起動
Starting MySQL
 SUCCESS! 
$ mysql -uroot //MySQLへの接続
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.12 Homebrew

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

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> 

これで無事接続できました。

データベースの作成

今回は、果物の値段と重さの表をデータベースとして作ってみます。イメージはこんな感じ↓

果物の名前 値段 重さ
りんご 200 100
オレンジ 100 50
イチゴ 500 150

データベースは「create databases データベース名」で作成できます。
今回は「my_test」というデータベース名で作ります(命名の習慣としては、アンダースコアで単語をつなぐようです)。

$ mysql> create database my_test;

「show databases」でデータベースの一覧を確認してみましょう。

$ mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| my_test            |
+--------------------+

作成したデータベース「my_test」が確認できますね。
それ以外のは、デフォルトで作成されたデータベースです。

テーブルの作成

続いて、「my_test」に実際にデータを埋め込んでいきます。
まずは、「use データベース名」で接続します。

$ mysql> use my_test;

次に、「create table テーブル名」でテーブルを作成します。今回は「fruits」というテーブル名にします。
ここで、カッコを使って「カラム名」も同時に指定します。

$ mysql> create table fruits (name varchar(10), price int, weight int);

カラム名は「カラム名 データ型」のように、データ型を一緒に指定します。カラムが複数ある場合は、カンマ(,)で区切ります。
また、データ型が文字列の場合は、文字数の上限値をカッコで指定することができます(「varchar(10)」)。

「show tables」で作成したテーブルの一覧を確認してみます。「fruits」がありますね。

$ mysql> show tables;
+-----------------------+
| Tables_in_my_test     |
+-----------------------+
| fruits                |
+-----------------------+
1 row in set (0.00 sec)

ただし、これではカラム名が確認できないので、「show columns from テーブル名」または「desc fruits」でカラム名を確認できます。

$ mysql> show columns from fruits;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| name   | varchar(10) | YES  |     | NULL    |       |
| price  | int(11)     | YES  |     | NULL    |       |
| weight | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

「int(11)」の11はデフォルト値。

データの追加

作成したテーブルに、「 insert into テーブル名 (カラム名) value (値)」を使って「行」を追加していきます。

$ mysql> insert into fruits (name, price, weight) values("りんご",200,100);
$ mysql> insert into fruits (name, price, weight) values("オレンジ",100,50);
$ mysql> insert into fruits (name, price, weight) values("イチゴ",500,150);

テーブルに追加したデータを確認するには、「select カラム名 from テーブル名」を使います。
全てのカラム名を表示したい場合は、「select * from テーブル名」でもOKです。

$ select name, price,weight from fruits;
+--------------+-------+--------+
| name         | price | weight |
+--------------+-------+--------+
| りんご       |   200 |    100 |
| オレンジ     |   100 |     50 |
| イチゴ       |   500 |    150 |
+--------------+-------+--------+
3 rows in set (0.00 sec)

最初にイメージした表↓ができました!

果物の名前 値段 重さ
りんご 200 100
オレンジ 100 50
イチゴ 500 150

データベースの編集が終わったら、「exit」でMySQLから切断します。

$ exit

また、作成したデータベースやテーブルをバックアップする(特定のファイルとして出力する)コマンドもあります。
以下の例では、データーベース「my_test」を丸ごと、「my_test.sql」に保存します。ファイルは現在地に保存されるので、デスクトップに保存したい場合などは、「cd」でデスクトップに予め移動しておきます。

$ mysqldump -uroot my_test > my_test.sql

詳細はこちらを参照ください。