イチから全部作ってみよう(30)データベース操作の共通言語「SQL」を使ってみる:山浦恒央の“くみこみ”な話(199)(3/3 ページ)
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第30回は、これまで紹介してきたデータベースに関する概念的な話から離れ、SQLを使って実際にデータベースを操作してみる。
5.4 テーブルにレコードを挿入する
5.4.1 INSERT文
テーブルに新しいレコード(1行分のデータ)を追加するには、INSERT文を使用します(図3)。
ここでは、シャトーマルゴーとミラヴァルという商品データを登録します。下記のコマンドを入力してください。
INSERT INTO Product (id, name, vintage, price, stock) VALUES (1, 'シャトーマルゴー', 1999, 30000, 5); INSERT INTO Product (id, name, vintage, price, stock) VALUES (2, 'ミラヴァル', 2010, 5000, 7);
このコマンドを実行し、画面に何も出なければ成功です。なお、INSERT文は、あくまでもレコードを追加する命令で、追加結果は表示しません。
5.4.2 INSERT文の構文
INSERT文は、次の形式で記述します。
INSERT INTO テーブル名 (カラム名1, カラム名2, ……) VALUES (値1, 値2, ……);
- INSERT INTO テーブル名
どのテーブルに追加するか指定する - (カラム名1, カラム名2, ……)
値を入れるカラムを指定します - VALUES(値1, 値2, ……)
データ構造に合わせて、実際に保存する値を指定します。また、カラムの順番と値の順番は対応している必要があります
5.5 データを抽出する
5.5.1 SELECT文
Productテーブルにレコードを追加できたので、SELECT文を使って追加したデータを確認しましょう(図4)。
データの確認は、SELECTコマンドを使用します。
SELECT * FROM Product;
実行すると、下記のように登録したデータが表示できます。
1|シャトーマルゴー|1999|30000|5 2|ミラヴァル|2010|5000|7
これで、テーブルとレコードが正しく記録できていることが分かりました。
5.5.2 SELECT文の構文
SELECT文は、次のようなコマンドです。
- SELECT
「*」は、全ての列(カラム)を意味し、テーブルにある全ての項目を表示します - FROM テーブル名
対象とするテーブルを指定します
なお、WHEREというキーワードを使用すると、「価格が1万円以上」「ビンテージが2000年以前」などさまざまな設定ができます。このように、SELECT文は「どのデータを」「どのように」取り出すかを柔軟に指定できる、SQLの基本となるコマンドです。
6.まとめ
今回説明したSQL文を、振り返ります。
- CREATE文は、テーブルを作成する
- INSERT文は、作成したテーブルにレコードを追加する
- SELECT文は、テーブルの中のレコードの情報を抽出する
7.おわりに
今回は、SQLiteというRDBMSを使用して、ワインの商品情報テーブルをSQLで作成しました。SQLは、データベースとやりとりをする共通言語で、テーブル作成/レコードの追加/テーブルのデータ抽出などのさまざまな指示が行えます。
他にも多くのオプションとコマンドがありますので、その他のWebサイトや生成AI(人工知能)などで調べた上で、SQLite上で試してもよいでしょう。
次回は、SQLにおけるその他の構文を紹介する予定です。(次回に続く)
山浦先生執筆の書籍が販売中です!
本連載で取り上げた「ソフトウェア技術者のためのバグ百科事典」を大幅に加筆、修正した山浦恒央先生の書籍「ソフトウェア技術者のためのバグ検出テキスト」が日科技連出版から好評発売中です。連載でも取り上げた、「要求仕様書のバグ」「実装抜けのバグ」「テスト業務のバグ」など、バグを36種類に分類して解説しています。囲碁や将棋であれば、「相掛かり」「矢倉」「四間飛車」「藤井システム」のような戦法を網羅した内容になっています。
前著「ソフトウェア技術者のためのバグ検出ドリル」(2019年11月刊行)も好評発売中です。実際にバグを含む要求仕様書、設計書、コーディング、デバッグ、保守を具体的に取り上げ、練習問題として31問を出題しました。同書は、囲碁や将棋における「次の一手」的な問題であり、ピンポイントの場面を取り上げ、実践力を鍛えることを目的としています。
両書とも興味のある方は、Amazon.comや書店でチェックしてください!
人間環境大学 環境情報学科 教授(工学博士)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「山浦恒央の“くみこみ”な話」バックナンバー
イチから全部作ってみよう(29)3つのノート整理法からたどるRDBMSの基礎知識
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第29回は、お題「店長の頭の中を設計しよう」の解答例となる3つのノート整理法を基に、リレーショナルデータベース(RDBMS)の基礎知識について説明する。
イチから全部作ってみよう(28)データ設計に必要なデータベースの基本事項
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第28回は、データ設計に必要なデータベースの基本事項を整理する。
イチから全部作ってみよう(27)「ACID」で示されるデータベースの4つの特性
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第27回は、データ設計の基盤となる「データベース」の4つの基本特性について取り上げる。
イチから全部作ってみよう(26)プログラムは「処理」と「データ」からできている
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第26回は、プログラムを構成する2大要素である「処理」と「データ」のうち、データの設計をどのように行うかについて説明する。
イチから全部作ってみよう(25)脳内シミュレーションを駆使し画面設計書を完成させる
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第25回は、前回作成したECサイトのトップページに続き、カート画面、顧客情報&支払情報入力画面、購入確認画面、購入完了画面画面設計書の画面設計書を作成する。



