検索
連載

イチから全部作ってみよう(31)SQLを操作して実際にデータベースを作ってみる山浦恒央の“くみこみ”な話(200)(3/4 ページ)

ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第31回は、SQLの操作方法の解説をもう一歩進めた上で、実際にワインの商品データベースを作ってみる。

Share
Tweet
LINE
Hatena

5.ワインの商品データベースを作ろう

5.1 お題の概要

 練習として、ECサイトの商品データを作ってみましょう。作成するデータを表1、2に示します。

データ項目 説明 データ型
id 商品ID(主キー) INT
name 商品名 TEXT
vintage ビンテージ INT
winery 生産者 TEXT
price 商品価格 INT
stock 在庫数 INT
表1 商品テーブル

商品ID 商品名称 ビンテージ 生産者 商品価格 在庫数
1 ブルゴーニュ ピノノワール 2022 ドメーヌ・ヤマモト 5000 10
2 ブルゴーニュ ピノノワール 2023 ドメーヌ・スズキ 10000 20
3 ブルゴーニュ シャルドネ 2021 ドメーヌ・ヤマダ 4300 4
4 ブルゴーニュ シャルドネ 2021 ドメーヌ・ササキ 3670 8
表2 商品データ

 表1と表2を参考にしてデータを作ってみましょう。

5.2 作成例

 表1と表2のデータを作成します。

 まず、以下のコマンドデータベースを作成します。

sqlite3 EC_Database.db

 既存のProductテーブルがある場合は、以下のように削除します。

DROP TABLE IF EXISTS Product;

 次に、テーブルを作成します。

CREATE TABLE Product(
id INTEGER PRIMARY KEY,
name TEXT,
vintage INT,
winery TEXT,
price INT,
stock INT
);

 ここで、商品データ(Product)という箱ができました。ここに、以下のように、レコードを追加します。

INSERT INTO Product (id, name, vintage, winery, price, stock) VALUES(1, 'ブルゴーニュ ピノノワール', 2022, 'ドメーヌ・ヤマモト', 5000, 10);
INSERT INTO Product (id, name, vintage, winery, price, stock) VALUES(2, 'ブルゴーニュ ピノノワール', 2023, 'ドメーヌ・スズキ', 10000, 20);
INSERT INTO Product (id, name, vintage, winery, price, stock) VALUES(3, 'ブルゴーニュ シャルドネ', 2021, 'ドメーヌ・ヤマダ', 4300, 4);
INSERT INTO Product (id, name, vintage, winery, price, stock) VALUES(4, 'ブルゴーニュ シャルドネ', 2021, 'ドメーヌ・ササキ', 3670, 8);

 以下のSELECT文で、追加したデータを確認します。

SELECT * FROM Product;
1|ブルゴーニュ ピノノワール|2022|ドメーヌ・ヤマモト|5000|10
2|ブルゴーニュ ピノノワール|2023|ドメーヌ・スズキ|10000|20
3|ブルゴーニュ シャルドネ|2021|ドメーヌ・ヤマダ|4300|4
4|ブルゴーニュ シャルドネ|2021|ドメーヌ・ササキ|3670|8

 これで、商品データが追加できたことが分かります。

6.終わりに

 今回は、SQLの基本操作の「WHERE」による条件絞り込み、「UPDATE」によるデータの更新、「DELETE」「DROP」による削除について解説しました。

 今回で、データベース操作の基本サイクルを体験できたことになります。なお、細かなSQLの構文は、書籍や生成AIなどで調べてみるとよいでしょう。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る