イチから全部作ってみよう(32)PythonでSQLを実行してデータベースを操作する山浦恒央の“くみこみ”な話(201)(4/4 ページ)

» 2026年05月20日 06時00分 公開
前のページへ 1|2|3|4       

4.4 データを抽出する

 データベースに登録したデータを抽出する場合は、SELECT文を使用します(図6)。

図6 図6 データ抽出のイメージ[クリックで拡大]

4.4.1 SQLiteから実行する場合

 SELECT文を使ってデータを抽出します。

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

4.4.2 Pythonから実行する場合

 Pythonでは、以下のように記述します。

import sqlite3
# データベースへ接続
with sqlite3.connect("EC_Database.db") as conn:
    cursor = conn.cursor()
    # SELECT文を実行
    cursor.execute("SELECT * FROM Product")
    # 抽出結果をすべて取得(リスト形式)
    rows = cursor.fetchall()
    # 取得したデータをループ処理で1件ずつ表示
    for row in rows:
        print(row)
実行結果:
(1, 'ブルゴーニュ ピノノワール', 'img1.png', 2022, 'ドメーヌ・ヤマモト', 5000, 10)
(2, 'ブルゴーニュ ピノノワール', 'img2.png', 2023, 'ドメーヌ・スズキ', 10000, 20)
(3, 'ブルゴーニュ シャルドネ', 'img3.png', 2021, 'ドメーヌ・ヤマダ', 4300, 4)
(4, 'ブルゴーニュ シャルドネ', 'img4.png', 2021, 'ドメーヌ・ササキ', 3670, 8)

4.4.3 Pythonプログラムの解説

 Pythonプログラムの解説を下記に示します。

  • (1)executeメソッドでSELECT文を実行する
  • (2)fetchallメソッドから抽出結果をリストとして取得する
  • (3)取得したデータに対してループ処理を行い、1件ずつ表示する

5.終わりに

 今回は、Pythonを使用して、データベースの作成/操作を解説しました。

 実際のアプリでは、ユーザー操作や処理内容に応じてSQLを実行し、データを読み書きします。今回のお題を通じて、プログラムを使って、具体的にSQLを実行するイメージができたと思います。

 なお、今回の記事ではPythonの言語仕様の詳細は省いています。もし、興味があれば、生成AIを活用してコードを生成し、ご自身の環境で実行すると理解が深まるでしょう。

山浦先生執筆の書籍が販売中です!

 本連載で取り上げた「ソフトウェア技術者のためのバグ百科事典」を大幅に加筆、修正した山浦恒央先生の書籍「ソフトウェア技術者のためのバグ検出テキスト」が日科技連出版から好評発売中です。連載でも取り上げた、「要求仕様書のバグ」「実装抜けのバグ」「テスト業務のバグ」など、バグを36種類に分類して解説しています。囲碁や将棋であれば、「相掛かり」「矢倉」「四間飛車」「藤井システム」のような戦法を網羅した内容になっています。

 前著「ソフトウェア技術者のためのバグ検出ドリル」(2019年11月刊行)も好評発売中です。実際にバグを含む要求仕様書、設計書、コーディング、デバッグ、保守を具体的に取り上げ、練習問題として31問を出題しました。同書は、囲碁や将棋における「次の一手」的な問題であり、ピンポイントの場面を取り上げ、実践力を鍛えることを目的としています。

ソフトウェア技術者のためのバグ検出テキストソフトウェア技術者のためのバグ検出ドリル 画像クリックで出版社のWebサイトへ

 両書とも興味のある方は、Amazon.comや書店でチェックしてください!

【 筆者紹介 】
山浦 恒央(やまうら つねお)

人間環境大学 環境情報学科 教授(工学博士)


1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科准教授、2016年より非常勤講師。2025年4月より、人間環境大学環境情報学科教授。

主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR