Pythonに在庫確認を頼めるようになった。
しかし、毎回コードを開いて在庫数を書き直すのは、少し面倒だ。
KAZU「昨日は4だったけど、今日は3。明日は納品で増える。これ、どこかにまとめて置けない?」
そこで登場したのが、データベースだった。
SQL「倉庫の準備ですね。」
KAZU「あなたが倉庫?」
SQL「私は倉庫へ指示を出すための言葉です。」
データベースが情報を保存して管理する仕組み。SQLは、その中の情報を取り出したり変更したりするための言語だ。
倉庫と、倉庫への頼み方は別だった。
第14回。全3ページを続けて読めます。
学習レクチャー・2026年9月15日更新
Pythonに在庫確認を頼めるようになった。
しかし、毎回コードを開いて在庫数を書き直すのは、少し面倒だ。
KAZU「昨日は4だったけど、今日は3。明日は納品で増える。これ、どこかにまとめて置けない?」
そこで登場したのが、データベースだった。
SQL「倉庫の準備ですね。」
KAZU「あなたが倉庫?」
SQL「私は倉庫へ指示を出すための言葉です。」
データベースが情報を保存して管理する仕組み。SQLは、その中の情報を取り出したり変更したりするための言語だ。
倉庫と、倉庫への頼み方は別だった。
学習レクチャー・2026年9月15日更新
まずは在庫表を見てみよう。
| id | item | stock |
|---|---|---|
| 1 | 手袋 | 4 |
| 2 | ペーパー | 9 |
| 3 | ゴミ袋 | 2 |
このような表を「テーブル」と呼ぶ。ここでは supplies という名前をつけることにする。
横一列が「行」。一件分のデータだ。縦の項目が「列」。この表にはid、item、stockという三つの列がある。
KAZU「表なら、Excelでも見たことがある。」
SQL「その感覚は役に立ちます。まずは一行に何を入れるか、各列が何を意味するかをそろえましょう。」
学習レクチャー・2026年9月15日更新
では、一番左のidは何だろう。
これは、それぞれの行を区別するための番号だ。同じような品名があっても、どの行を指しているかをはっきりさせられる。
KAZU「手袋って名前で分かるんじゃない?」
SQL「SサイズとMサイズがあったら?」
KAZU「小さい手袋と、普通の手袋。」
SQL「普通とは?」
また出た。プログラムの世界では「普通」がなかなか通用しない。
実際の管理では、サイズや単位なども項目として持たせると、意味がはっきりする。表に情報を詰め込む前に、何をどう区別するかを考えるのが大切なのだ。
なお、先ほどのPythonの辞書は、あの例だけではプログラム終了後に変更をファイルへ保存しない。残しておきたい情報には、ファイルやデータベースへ保存する処理が必要になる。
KAZU「覚えてくれたと思ったのに、帰ると忘れるのか。」
SQL「だから、記録を残す場所を用意します。」
人もプログラムも、申し送りの仕組みが大切らしい。
表の「一件分のデータ」に当たるのは?
A.行
B.列
C.テーブル名
答え:A。列は品名や在庫数などの項目を表す。
自分の在庫表を作るなら、何の列が必要か考えよう。「品名」「在庫数」に加えて「単位」があると、4箱なのか4枚なのかを区別できる。