カテゴリ: Python 更新日: 2026/03/22

PythonでSQLiteを使う方法!初心者でもわかるデータベース基本操作

PythonでSQLiteを使う方法!データベースの基本操作を解説
PythonでSQLiteを使う方法!データベースの基本操作を解説

先生と生徒の会話形式で理解しよう

生徒

「Pythonでデータを保存したり管理したりできるって聞いたんですが、どうやるんですか?」

先生

「PythonではSQLiteというデータベースを使うと、ファイル感覚でデータを保存できます。」

生徒

「データベースって難しそうなイメージがあります……」

先生

「大丈夫です。まずはメモ帳に情報を書き留める感覚から考えてみましょう。」

1. SQLiteとは?

1. SQLiteとは?
1. SQLiteとは?

SQLiteは、軽量でシンプルなデータベースです。データベースとは、たくさんの情報を整理して保存するための箱のようなものです。SQLiteはサーバーを用意する必要がなく、パソコンの中にファイルとして保存される特徴があります。

たとえば、住所録や買い物リストを紙に書く代わりに、パソコンの中で表として管理するイメージです。Pythonには最初からSQLiteを使うための機能が用意されているため、特別な準備をしなくてもすぐに始められます。

2. PythonでSQLiteを使う準備

2. PythonでSQLiteを使う準備
2. PythonでSQLiteを使う準備

PythonでSQLiteを使うには、sqlite3という標準ライブラリを使います。ライブラリとは、便利な道具がひとまとめになった箱のようなものです。Pythonをインストールしていれば、追加の作業は必要ありません。

まずは、SQLiteのデータベースファイルを作成し、接続するところから始めます。


import sqlite3

conn = sqlite3.connect("sample.db")
print("データベースに接続しました")

データベースに接続しました

このコードでは、「sample.db」というファイルが自動的に作られます。これがデータベース本体です。

3. テーブルを作成してみよう

3. テーブルを作成してみよう
3. テーブルを作成してみよう

データベースの中では、情報をテーブルという表の形で管理します。テーブルは、エクセルの表とよく似ていて、列と行で構成されています。

ここでは、名前と年齢を保存するシンプルなテーブルを作成します。


import sqlite3

conn = sqlite3.connect("sample.db")
cur = conn.cursor()

cur.execute("""
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY,
    name TEXT,
    age INTEGER
)
""")

conn.commit()
print("テーブルを作成しました")

テーブルを作成しました

cursorは、データベースに命令を送るための窓口のような役割をします。

4. データを登録する方法

4. データを登録する方法
4. データを登録する方法

次に、テーブルの中にデータを追加します。これは、ノートに新しい行を書き足すような作業です。


import sqlite3

conn = sqlite3.connect("sample.db")
cur = conn.cursor()

cur.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("太郎", 20))
conn.commit()

print("データを登録しました")

データを登録しました

「?」を使うことで、後から安全に値を入れることができます。これにより、入力ミスや不正な操作を防げます。

5. データを取り出してみよう

5. データを取り出してみよう
5. データを取り出してみよう

登録したデータは、必要なときに取り出して確認できます。これは、ノートを開いて内容を読み返すイメージです。


import sqlite3

conn = sqlite3.connect("sample.db")
cur = conn.cursor()

cur.execute("SELECT name, age FROM users")
rows = cur.fetchall()

for row in rows:
    print(row)

('太郎', 20)

fetchallは、検索結果をまとめて取り出すための命令です。

6. データを更新・削除する

6. データを更新・削除する
6. データを更新・削除する

データベースでは、すでにある情報を書き換えたり、不要になった情報を消したりすることもできます。


import sqlite3

conn = sqlite3.connect("sample.db")
cur = conn.cursor()

cur.execute("UPDATE users SET age = ? WHERE name = ?", (21, "太郎"))
conn.commit()

print("データを更新しました")

UPDATEは内容の変更、DELETEは削除を行う命令です。どちらもcommitを忘れないことが大切です。

7. SQLiteを使うときの注意点

7. SQLiteを使うときの注意点
7. SQLiteを使うときの注意点

SQLiteは手軽で便利ですが、大量の同時アクセスには向いていません。個人の学習や小規模なアプリケーションに適しています。

また、処理が終わったらデータベースとの接続を閉じる習慣をつけましょう。これは、使い終わったノートをきちんと片付けるようなものです。


conn.close()
print("接続を閉じました")

接続を閉じました
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
Python
Pythonの関数のドキュメント(docstring)の書き方!PEP 257のガイドライン
New2
Python
Pythonのスコープとは?ローカル変数・グローバル変数の違いと使い分け
New3
Python
Pythonで空白を削除する方法!strip()・rstrip()・lstrip()の活用
New4
Python
Pythonの変数宣言の方法とは?型ヒント(type hints)の使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでリストを分割する方法(スライス / split() / itertools)
No.2
Java&Spring記事人気No2
Python
Pythonのloggingモジュール入門!初心者でもできるエラーログの記録方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
PythonでISO 8601形式の日時に変換する方法を完全解説!初心者でもわかる時間フォーマットの基本
No.4
Java&Spring記事人気No4
Python
Pythonのコンストラクタ(__init__)の使い方を解説!初心者でもわかるオブジェクトの初期化
No.5
Java&Spring記事人気No5
Python
Pythonのインデントの重要性!なぜPythonではインデントが必須なのか?
No.6
Java&Spring記事人気No6
Python
Pythonで辞書の値を集計する方法(Counter / groupbyの活用)初心者向け完全ガイド
No.7
Java&Spring記事人気No7
Python
Pythonでリストをカウントする方法(collections.Counterの活用)
No.8
Java&Spring記事人気No8
Python
Pythonでzip圧縮・解凍する方法を徹底解説!初心者でもわかるzipfileモジュールの使い方