連載
イチから全部作ってみよう(31)SQLを操作して実際にデータベースを作ってみる:山浦恒央の“くみこみ”な話(200)(3/4 ページ)
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第31回は、SQLの操作方法の解説をもう一歩進めた上で、実際にワインの商品データベースを作ってみる。
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.