商品、顧客データベースを作る

SQLスクリプトで商品や顧客などの情報を格納したデータベースを作成する。

今回は「shop」データベースのなかに複数のテーブルを作成していきます。

phpMyAdminからSQLスクリプトを実行し入力していきます。

drop database if exists shop;
create database shop default character set utf8 collate utf8_general_ci;
drop user if exists ‘staff’@’localhost’;
create user ‘staff’@’localhost’ identified by ‘password’;
grant all on shop.* to ‘staff’@’localhost’;
use shop;
「データベースとユーザーの作成」
・drop database if exists shop;でshopデータベースが既に存在する場合は削除します。
・create database shop ~;でshopデータベースを新規に作成します。
・drop user if exists ‘staff’@’localhost’;でstaffユーザが既に存在する場合はユーザーを削除します。
・create user ‘staff’@’localhost’ identified by ‘password’;でstaffユーザーを新規に作成します。パスワードはpasswordとします。
・grant all on shop.* to ‘staff’@’localhost’;でstaffユーザーにshopデータベースを操作する権限を与えます。
・use shop;で作成したデータベースに接続します。
create table product (
    id int auto_increment primary key,
    name varchar(200) not null,
    price int not null
);
「商品テーブルの作成」
商品番号、商品名、価格
create table customer (
    id int auto_increment primary key,
    name varchar(100) not null,
    address varchar(200) not null,
    login varchar(100) not null unique,
    password varchar(100) not null
);
「顧客テーブルの作成」
顧客番号、顧客名、住所、ログイン名、パスワード
uniqueという記述は「ユニーク制約」。ユニーク制約を指定した列は、行ごとに全て異なる値になり、他の行と同じ値を格納することができなくなる。
create table purchase (
    id int not null primary key,
    customer_id int not null,
    foreign key(customer_id) references customer(id)
);
「購入テーブル」
購入番号、顧客番号
foreign keyは外部キー制約と呼ばれます。外部キー制約を指定した列には、外部のテーブルにある指定した列に含まれる値だけが格納できるようになる。
つまり「purchaseテーブルのcustomer_id列には、costomerテーブルのid列に存在する値だけ格納できる」という意味になります。
create table purchase_detail (
    purchase_id int not null,
    product_id int not null,
    count int not null,
    primary key(purchase_id, product_id),
    foreign key(purchase_id) references purchase(id),
    foreign key(product_id) references product(id)
);
「購入詳細テーブル」
購入番号、商品番号、個数
primary keyは主キーと呼ばれ、行ごとに異なる値を割り当てます。
create table favorite (
    customer_id int not null,
    product_id int not null,
    primary key(customer_id, product_id),
    foreign key(customer_id) references customer(id),
    foreign key(product_id) references product(id)
);
「お気に入りテーブル」
顧客番号、商品番号
insert into product values(null, ‘松の実’, 700);
insert into product values(null, ‘くるみ’, 270);
insert into product values(null, ‘ひまわりの種’, 210);
insert into product values(null, ‘アーモンド’, 220);
insert into product values(null, ‘カシューナッツ’, 250);
insert into product values(null, ‘ジャイアントコーン’, 180);
insert into product values(null, ‘ピスタチオ’, 310);
insert into product values(null, ‘マカダミアナッツ’, 600);
insert into product values(null, ‘かぼちゃの種’, 180);
insert into product values(null, ‘ピーナッツ’, 150);
insert into product values(null, ‘クコの実’, 400);
「商品テーブル」
商品番号、商品名、価格
insert intoコマンドを使って、テーブルにデータを追加していきます。
nullには自動的に番号が作成されます。

insert into customer values(null, ‘熊木 和夫’, ‘東京都新宿区西新宿2-8-1’, ‘kumaki’, ‘BearTree1’);
insert into customer values(null, ‘鳥居 健二’, ‘神奈川県横浜市中区日本大通1’, ‘torii’, ‘BirdStay2’);
insert into customer values(null, ‘鷺沼 美子’, ‘大阪府大阪市中央区大手前2’, ‘saginuma’, ‘EgretPond3’);
insert into customer values(null, ‘鷲尾 史郎’, ‘愛知県名古屋市中区三の丸3-1-2’, ‘washio’, ‘EagleTail4’);
insert into customer values(null, ‘牛島 大悟’, ‘埼玉県さいたま市浦和区高砂3-15-1’, ‘ushijima’, ‘CowIsland5’);
insert into customer values(null, ‘相馬 助六’, ‘千葉県地足中央区市場町1-1’, ‘souma’, ‘PhaseHorse6’);
insert into customer values(null, ‘猿飛 菜々子’, ‘兵庫県神戸市中央区下山手通5-10-1’, ‘sarutobi’, ‘MonkeyFly7’);
insert into customer values(null, ‘犬山 陣八’, ‘北海道札幌市中央区北3西6’, ‘inuyama’, ‘DogMountain8’);
insert into customer values(null, ‘猪口 一休’, ‘福岡県福岡市博多区東公園7-7’, ‘inokuchi’, ‘BoarMouse9’);
「顧客テーブル」
顧客番号、顧客名、住所、ログイン名、パスワード

確認するとshopデータベースが作成され、各テーブルとデータが作成されています。

「構造」タグより「unique」や「主キー」を設定する

unique(ユニーク)や主キーの設定は「構造」タグより簡単に行えます。まずは構造タグをクリックし、設定したいカラム(列)の「その他」をクリックすると主キーやユニークなどが設定できます。設定できればそれぞれのイラストが付きます。

SQL文を使わずに商品、顧客データベースを作る

新規作成をクリックし、データベース名を入力する。

「作成」をクリックすれば新たなデータベースが作られます。次は商品データベースを作っていきましょう。テーブル名とカラム数(列)を決めていきます。ここではID、商品名、価格とするので3としました。

idにはprimary keyは主キーと呼ばれ、行ごとに異なる値を割り当てます。AIのところにチェックを付けます。下にスクロールすると「保存」がありますのでクリックします。

構造が表示されました。shop2のデータベースの中にproductというテーブルが作成されました。idには主キーが設定された証に鍵マークがつきました。

データを入れていきます。「挿入」タグをクリックし、商品名、価格を入れ、右下の「実行」をクリックします。

このような画面になります。行を挿入されたことがわかります。

「表示」タグでも確認ができます。

このようにどんどん挿入していくことが出来ます。いろいろ作ってみて慣れてみてください。

PHPについて

この本から引用、参考にして学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが3,000円弱ならコスパよく、買っておいてよかったと満足してます。


短期間でのレベルアップにはプロから学ぶのもありです。

キャリアアップに必要なスキルを取得しよう。

オンラインで受講ができるスクールですので、全国どこからでも。

就職・転職支援