Pythonでデータベースを扱う際に非常に便利なのが「SQLite」です。本記事では、PythonとSQLiteを使って簡単なデータベース操作を行う方法を、初心者にもわかりやすく解説していきます。子供から大人まで理解できるよう、専門用語には説明を加えつつ、実際に動かしてみることで身につく内容になっています。
SQLiteとは何かを知ろう
Pythonで始めるSQLite入門を理解するには、まずSQLiteそのものについて知ることが大切です。
SQLite(エスキューライト)は、「軽量なデータベース管理システム」です。通常のデータベースシステム(例:MySQLやPostgreSQL)と違って、サーバーを立ち上げる必要がなく、1つのファイルとして保存できるのが特徴です。これにより、簡単なアプリケーションや個人用ツールに最適な選択肢となっています。
データベースとは?
データベースとは、大量の情報(データ)を整理して保存するための仕組みです。例えば、学校の生徒名簿や、図書館の本の一覧などもデータベースの一種です。データベースは、後からその情報を検索・更新・削除するのが簡単になるよう設計されています。
PythonでSQLiteを使う準備
Pythonで始めるSQLite入門のステップとして、まずPython環境の準備を行いましょう。
Pythonには標準でSQLiteが組み込まれており、特別なインストール作業は必要ありません。以下のコードで、SQLiteが使えることを確認してみましょう。
import sqlite3
print(sqlite3.version)
上記のコードを実行してエラーが出なければ、準備完了です。
データベースとテーブルの作成方法
Pythonで始めるSQLite入門の実践編として、まずはデータベースとテーブルを作成してみましょう。
import sqlite3
# データベースファイルに接続(なければ自動で作成される)
conn = sqlite3.connect('sample.db')
# カーソルオブジェクトの作成
cursor = conn.cursor()
# テーブルの作成
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER
)
''')
# 保存して接続終了
conn.commit()
conn.close()
テーブルとは?
テーブルは、データベース内で情報を管理する単位です。表のように行(レコード)と列(カラム)で構成されます。この例では「users」という名前のテーブルを作り、「id」「name」「age」の3つのカラムを用意しています。
データの追加(INSERT)
次に、PythonとSQLiteを使ってデータを追加する方法を紹介します。
conn = sqlite3.connect('sample.db')
cursor = conn.cursor()
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("たろう", 20))
conn.commit()
conn.close()
プレースホルダとは?
?
はプレースホルダと呼ばれ、実際の値を後から挿入するために使います。これにより、セキュリティ面でも安全になります(SQLインジェクション対策)。
データの取得(SELECT)
登録したデータを表示してみましょう。
conn = sqlite3.connect('sample.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
users = cursor.fetchall()
for user in users:
print(user)
conn.close()
fetchallとは?
fetchall()
は、検索結果をすべて取得する関数です。データはタプルのリストとして返されます。
データの更新(UPDATE)と削除(DELETE)
Pythonで始めるSQLite入門の最後に、データの更新と削除もやってみましょう。
# 年齢を更新
conn = sqlite3.connect('sample.db')
cursor = conn.cursor()
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (25, "たろう"))
conn.commit()
# ユーザーの削除
cursor.execute("DELETE FROM users WHERE name = ?", ("たろう",))
conn.commit()
conn.close()
まとめ
Pythonで始めるSQLite入門を通じて、基本的なデータベース操作の流れを体験できたと思います。
SQLiteは、サーバーを使わずにすぐに始められる手軽さが魅力で、Pythonと組み合わせることで簡単にデータ管理ができます。今回の内容を元に、日記アプリ、タスク管理、住所録など、さまざまな小さなアプリを作ることができるはずです。
まずは自分でコードを動かしてみることが理解への近道です。次回は、GUI(グラフィカルユーザーインターフェース)と連携したSQLiteアプリケーションの作成方法も紹介予定です。