PythonでSQLiteを使う方法を完全ガイド!初心者でもわかるデータベース基本操作
生徒
「Pythonでデータベースを使うにはどうしたらいいんですか?パソコン初心者でも扱えるのか心配です。」
先生
「PythonにはSQLiteというとても扱いやすいデータベースがあって、インストールなしで使えるんですよ。初心者でも安心して学べます。」
生徒
「インストールしなくても使えるって便利ですね。でもデータベースって難しそうなイメージがあります…。」
先生
「確かに最初は難しく感じるかもしれませんが、SQLiteは小さなファイルに情報を保存する仕組みなので、メモ帳のように扱えるイメージで大丈夫です。仕組みからゆっくり説明していきますね。」
1. SQLiteとは?初心者でも扱える軽量データベース
SQLite(エスキューライト)は、Pythonに標準搭載されている「軽量データベース」です。データベースと聞くと、難しい専用サーバーの設置や複雑なネットワーク設定を想像するかもしれませんが、SQLiteにはそれが一切不要です。最大の特徴は、データベース全体が「1つのファイル(.db)」としてパソコン内に保存される点にあります。
例えば、Excelのファイル1つの中に複数のシートを作ってデータを管理するように、SQLiteも1つのファイルの中に「ユーザー一覧」や「商品リスト」といった表を整理して保管できます。この手軽さから、スマホアプリのデータ保存や、プログラミング初心者が最初に触れるデータベースとして世界中で選ばれています。
SQLiteは「Pythonをインストールした瞬間から使える」状態になっています。追加のインストール作業でつまづく心配がないため、未経験者にとって最も優しい選択肢と言えるでしょう。
具体的なイメージを掴むために、まずは「PythonからSQLiteに挨拶する(接続してファイルを作る)」だけの最もシンプルなコードを見てみましょう。
import sqlite3
# 1. データベースに接続する(ファイルがなければ自動で作られます)
# "my_beginner.db" という名前のノートを準備するイメージです
filepath = "my_beginner.db"
connection = sqlite3.connect(filepath)
# 2. 接続を閉じる
# 使い終わったら、開いたノートを閉じるように終了します
connection.close()
print(f"データベースファイル '{filepath}' が作成されました!")
このように、わずか数行のコードで「データを貯める場所」を確保できます。一般的なデータベース管理システム(MySQLやPostgreSQLなど)は、ソフトの起動やパスワード設定が必要ですが、SQLiteならPythonコードだけで完結します。まずは「SQLiteは、1つのファイルに情報を魔法のように整理してくれる便利な道具」だと覚えておきましょう。
2. PythonでSQLiteを使うための基本準備
Pythonでは特別な準備をしなくてもSQLiteを使えます。理由は、Python自体にsqlite3というモジュールが標準装備されているためです。モジュールとは必要な機能をまとめた箱のようなもので、Pythonの中に最初から入っている便利セットだと思ってください。
データベースを扱うときは「接続する」「操作する」「閉じる」という流れを意識すると理解しやすくなります。これは、図書館で本を借りるときに「入館する」「本を借りる」「退出する」という流れと似ています。
import sqlite3
conn = sqlite3.connect("sample.db")
conn.close()
上記の例はデータベースファイルを作成してすぐ閉じるだけの最も基本的な操作です。このようにPythonではシンプルな手順でデータベースを扱えます。
3. テーブルの作成と基本構造を理解しよう
テーブルとは、データを整理して保存するための表のようなものです。学校の出席簿や名簿のように、縦にデータを並べて管理するイメージです。SQLiteではSQLという言語を使ってテーブルを作りますが、シンプルなので初心者でもすぐ理解できます。
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()
このように、テーブルには列があり、それぞれ意味を持っています。例えば名前や年齢といった情報をまとめて管理できます。
4. データの追加方法を知ろう
データを追加するにはINSERT文を使います。図書館に新しい本を棚に追加するように、データベースにも新しい情報を追加します。SQLiteではPythonのコードとSQLを組み合わせて簡単に追加できます。
import sqlite3
conn = sqlite3.connect("sample.db")
cursor = conn.cursor()
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("太郎", 25))
conn.commit()
conn.close()
ここで?が使われているのは、SQLインジェクションという攻撃から守るためです。安全にデータを扱うための仕組みとして覚えておきましょう。
5. データを読み取る方法を理解しよう
データを取り出すときはSELECT文を使います。これはノートの特定のページを開いて内容を読むイメージです。取り出したい条件も自由に設定できます。
import sqlite3
conn = sqlite3.connect("sample.db")
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
実行するとユーザー情報が一覧で表示されます。データベースから情報を取り出す操作の基本です。
6. データを更新する方法を学ぼう
すでに登録したデータを変更したい場合にはUPDATE文を使います。例えばユーザーの年齢を変更したり、名前を修正したりできます。日記の内容を書き直すように、データの内容を更新できます。
import sqlite3
conn = sqlite3.connect("sample.db")
cursor = conn.cursor()
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (30, "太郎"))
conn.commit()
conn.close()
WHERE句がないとすべてのデータが変更されてしまうため、必ず条件を付ける習慣を身につけると安全です。
7. データを削除する方法を理解しよう
不要なデータはDELETE文を使って削除できます。これはノートの不要なページを破るように、データベースから必要ない情報を取り除く操作です。
import sqlite3
conn = sqlite3.connect("sample.db")
cursor = conn.cursor()
cursor.execute("DELETE FROM users WHERE name = ?", ("太郎",))
conn.commit()
conn.close()
データの削除も非常に重要な操作ですので、必要なものと不要なものを整理する習慣を付けるとよいでしょう。
8. 初心者でも扱いやすいSQLiteの魅力を知ろう
SQLiteの最大の魅力は、初心者でも扱える簡単さと、Pythonとの相性の良さにあります。ファイルひとつで動作するため環境構築の手間もほとんどなく、学習や小規模アプリなど幅広い用途に役立ちます。データベースという言葉自体が難しく感じる方でも、少しずつ仕組みを知ることで確実に理解が深まり、情報整理の技術として活用できるようになります。
また、Pythonでデータ分析を学ぶ人にとっても、データを安全に管理する技術は重要です。SQLiteで練習することで、より高度なデータベース操作にもスムーズに進むことができます。