カテゴリ: 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("接続を閉じました")

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

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

関連記事:
Python のデータベース操作の記事一覧へ
新着記事
New1
Python
Pythonの整数と浮動小数点数の違いとは?数値型の基本を解説
New2
Python
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
New3
Python
Pythonのbreakとcontinueの違いとは?ループの制御方法をマスター
New4
Python
Pythonのstartswith()・endswith()の使い方!文字列の前後をチェック
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPの特殊文字とエスケープ処理を完全ガイド!初心者向けにhtmlspecialcharsとhtmlentitiesをやさしく解説
No.2
Java&Spring記事人気No2
PHP
PHP の文字列のフォーマット(sprintf, printf)
No.3
Java&Spring記事人気No3
Python
Pythonで文字列を置換する方法!replace()の使い方と正規表現の活用
No.4
Java&Spring記事人気No4
Python
Pythonのクロージャー(Closure)とは?関数内関数とnonlocalの活用
No.5
Java&Spring記事人気No5
Python
Pythonでリストを分割する方法(スライス / split() / itertools)
No.6
Java&Spring記事人気No6
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.7
Java&Spring記事人気No7
PHP
PHPの認証機能を実装する方法!初心者でもわかるログイン・ログアウト処理の基本
No.8
Java&Spring記事人気No8
Python
Pythonのstartswith()・endswith()の使い方!文字列の前後をチェック