イチから全部作ってみよう(32)PythonでSQLを実行してデータベースを操作する:山浦恒央の“くみこみ”な話(201)(4/4 ページ)
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第32回は、さらに一歩踏み込み、PythonプログラムからSQLを実行してデータベースを操作する方法を解説する。
4.4 データを抽出する
データベースに登録したデータを抽出する場合は、SELECT文を使用します(図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問を出題しました。同書は、囲碁や将棋における「次の一手」的な問題であり、ピンポイントの場面を取り上げ、実践力を鍛えることを目的としています。
両書とも興味のある方は、Amazon.comや書店でチェックしてください!
人間環境大学 環境情報学科 教授(工学博士)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「山浦恒央の“くみこみ”な話」バックナンバー
イチから全部作ってみよう(31)SQLを操作して実際にデータベースを作ってみる
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第31回は、SQLの操作方法の解説をもう一歩進めた上で、実際にワインの商品データベースを作ってみる。
イチから全部作ってみよう(30)データベース操作の共通言語「SQL」を使ってみる
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第30回は、これまで紹介してきたデータベースに関する概念的な話から離れ、SQLを使って実際にデータベースを操作してみる。
イチから全部作ってみよう(29)3つのノート整理法からたどるRDBMSの基礎知識
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第29回は、お題「店長の頭の中を設計しよう」の解答例となる3つのノート整理法を基に、リレーショナルデータベース(RDBMS)の基礎知識について説明する。
イチから全部作ってみよう(28)データ設計に必要なデータベースの基本事項
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第28回は、データ設計に必要なデータベースの基本事項を整理する。
イチから全部作ってみよう(27)「ACID」で示されるデータベースの4つの特性
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第27回は、データ設計の基盤となる「データベース」の4つの基本特性について取り上げる。


