データベースとは、データの集合であり、検索や更新などの処理が行いやすい形式に整理されているものです。database、略してDBとして呼ぶことが多いです。
データベースにおけるテーブルのイメージ
番号 | 氏名 | 住所 |
1 | 田中 | 東京都文京区 |
2 | 鈴木 | 千葉県稲毛区 |
3 | 関 | 埼玉県さいたま市 |
横方向にならんだ群を「行」、縦方向に並んだ群を「列」と呼びます。名前の列、住所の列、2行目の鈴木、3行目の関のように構成されています。
MariaDB / MySQL
データベースでは、多くの関係データベース(RDBMS)製品が広まっています。ここではXAMPP/MAMPに付属するMariaDBとMySQLを使っていきます。
SQLとは
SQLとはRDBMSを利用するための言語です。SQLを利用して、データベースやテーブルを作成したり、データを追加したりします。
MySQLを起動してみましょう
XAMPPのアイコンをクリックし、コントロールパネルを開き、MySQLの横のStartボタンをクリックします。
adminをクリックします。
SQL文を使って新たなデータベースを作成する
「SQL」タブを選択して以下のように記述しました。
product.sql
drop database if exists shop; | shopデータベースがすでに存在する場合、shopデータベースを削除する。dropは削除する処理。 |
create database shop default character set utf8 collate utf8_general_ci; | shopデータベースを作成します。 ・create databaseで作成。 ・default character set で用いる文字コードを設定。 ・collateではデータベースにおいて行を並べる順番を決めるための設定。ここではUTF-8を用いた方法の一つのutf8_general_ciを指定。 |
drop user if exists ‘staff’@’localhost’; | ユーザーの設定をします。ユーザーがすでに存在する場合に、ユーザーを削除する処理。dropは削除する設定。localhostというホストにstaffというユーザーが存在していた場合、このユーザーを削除する。 |
create user ‘staff’@’localhost’ identified by ‘password’; | ユーザーの作成。create userはユーザーを作成する命令です。identified以下は、ユーザーがデータベースにログインするためのパスワードです。ここでは’passwordとしてます。 |
grant all on shop.* to ‘staff’@’localhost’; | ユーザーに対する権限の付与。grantは、ユーザーに対してデータベースを操作する権限を与えるための命令です。all on shop.*はshopデータベースのすべてのテーブルに対して、全ての権限を与えることを意味します。 |
use shop; | データベースへの接続。useは、データベースに接続するための命令です。 |
create table product ( id int auto_increment primary key, name varchar(200) not null, price int not null ); | テーブルの作成。 shopデータベースのなかに、productテーブルを作成ます。 「(」と「)」の間にはテーブル内に作成する列を「,」(カンマ)で区切って指定します。 「id int auto_increment primary key,」 →この列は商品を表すので名前をidとし、型は整数を表すint。auto_incrementとすると行を追加したとき自動で加算される。primary keyは主キーになり、行ごとに異なる値を割り当てます。 「name varchar(200) not null,」 →列の名前はname、型はvarcharで最大200文字まで格納。not nullにてこの列の入力を必須と設定。 「price int not null」 →この列の名前はprice、型は整数を表すint、価格もnot nullとし入力必須とする。 |
insert into product values(null, ‘卵’, 200); insert into product values(null, ‘牛乳’, 170); insert into product values(null, ‘カップラーメン’, 210); | データの追加。 insert intoは指定したテーブルに新しい行を追加する命令。 追加するデータはvalues()のように記述していきます。 最初のnullと指定しているのは、auto_incrementを指定しているので自動的に番号が振られるためです。 |
左側のSHOP以下に「product」というのがあれば、product.sqlは正常に実行されています。
もっと簡単にデータベースを作成する
実は、SQL文を書かなくてもデータベースをさくっと作成することができます。
データベースタグをクリックしデータベース名に好きなデータベース名(今回はtest_db)としました)を入力。そして「作成」をクリックします。
test_dbとして新規データベースが作成されました。
テーブルを簡単に作成する
同じくテーブルもSQL文を作らなくても作成することが簡単に出来てしまいます。
上記ではカラム(列数)はID、商品名、価格の3つなので3としました。そして「作成」をクリックします。
するとこのような画面になります。SQL文で作った上記と同様にそれぞれ名前を入れます。 タイプも同様にidは整数を表すint。nameはvarcharで最大200文字まで格納できるように、priceも整数を表すintに合わせました。
また、右にスクロールしてidのカラムにおいてはA_I(auto_incrementとすると行を追加したとき自動で加算される)にチェックを入れます。primary keyは主キーになり、行ごとに異なる値を割り当てます。
下にスクロールすると「保存」がありますので、OKであればクリックします。
テーブルの構造が出来上がりました。続いてデータを入力していきます。
「挿入」タグをクリックし、名前、価格を入力。実行をクリックします。
下にスクロールすれば何行づつ入れるかを選択できます。
「表示」タグをクリックすると先ほど挿入したデータが確認できます。