PythonでSQLiteを使う方法を完全ガイド!初心者でもわかるデータベース基本操作
生徒
「Pythonでデータベースを使うにはどうしたらいいんですか?パソコン初心者でも扱えるのか心配です。」
先生
「PythonにはSQLiteというとても扱いやすいデータベースがあって、インストールなしで使えるんですよ。初心者でも安心して学べます。」
生徒
「インストールしなくても使えるって便利ですね。でもデータベースって難しそうなイメージがあります…。」
先生
「確かに最初は難しく感じるかもしれませんが、SQLiteは小さなファイルに情報を保存する仕組みなので、メモ帳のように扱えるイメージで大丈夫です。仕組みからゆっくり説明していきますね。」
1. SQLiteとは?初心者でも扱える軽量データベース
SQLiteは、Pythonに標準搭載されている軽量データベースで、パソコン初心者でも簡単に扱える仕組みです。難しいサーバー設定が必要なく、ひとつのファイルに情報を整理して保存できます。例えばノートの中に複数のページを分類して記録するように、データを整理して保存してくれる便利な道具だと考えると理解しやすくなります。
一般的なデータベースは専用サーバーや難しい操作が必要になることがありますが、SQLiteはPythonコードだけで扱えるため、小さなアプリや学習用には最適です。初心者がデータ管理を学ぶ際の最初の一歩として広く使われています。
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で練習することで、より高度なデータベース操作にもスムーズに進むことができます。