「データベースって難しそう…」
そう思っているあなたに朗報です!
**SQLite(エスキューライト)**は、世界で最も使われているデータベースの一つなのに、びっくりするほど簡単に使えるんです。
実は、あなたのスマホの中でも動いています。iPhoneもAndroidも、アプリのデータ保存にSQLiteを使っているんですよ。
SQLiteの特徴をひとことで言うと: 「インストールしたらすぐ使える、超軽量なデータベース」
サーバーの設定?不要です。 複雑な初期設定?ありません。 たった1つのファイルでデータベースが完成します!
今回は、プログラミング初心者でも30分でSQLiteが使えるようになる方法を、実例たっぷりでお伝えします。
1. SQLiteのインストール方法(OS別)

Windows での インストール
一番簡単な方法をご紹介します:
- SQLite公式サイトにアクセス https://www.sqlite.org/download.html
- 「Precompiled Binaries for Windows」を探す sqlite-tools-win32-x86-〇〇.zip をダウンロード
- 解凍して、好きな場所に配置 例:C:\sqlite フォルダを作って、そこに入れる
- 環境変数にパスを通す(これだけちょっと面倒ですが…)
- システムのプロパティ → 環境変数
- Path に C:\sqlite を追加
確認方法: コマンドプロンプトで以下を入力
sqlite3 --version
バージョン番号が表示されたら成功です!
Mac での インストール
Macユーザーは楽ちんです。最初から入ってます!
ターミナルを開いて確認してみましょう:
sqlite3 --version
もし入っていない場合は、Homebrewで簡単インストール:
brew install sqlite
Linux での インストール
ほとんどのLinuxには標準搭載されています。
Ubuntu/Debianの場合:
sudo apt-get update
sudo apt-get install sqlite3
CentOS/Fedoraの場合:
sudo yum install sqlite
2. SQLiteの基本操作:最初の一歩
データベースを作ってみよう
ターミナル(コマンドプロンプト)を開いて、こう入力するだけ:
sqlite3 mydata.db
これで「mydata.db」というデータベースファイルが作成されます。 簡単でしょ?
基本的なコマンドの使い方
SQLiteに入ると、プロンプトが「sqlite>」に変わります。
よく使う管理コマンド:
.help
→ ヘルプを表示.tables
→ テーブル一覧を表示.schema
→ テーブル構造を表示.quit
または.exit
→ SQLiteを終了
ポイント: ドット(.)で始まるのはSQLite専用コマンドです。 SQL文とは違うので注意してくださいね。
3. テーブルを作って、データを入れてみよう
実例:住所録を作る
身近な例として、簡単な住所録を作ってみましょう。
テーブル作成(CREATE TABLE):
CREATE TABLE friends (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
phone TEXT,
email TEXT,
birthday DATE
);
解説:
id
→ 自動で番号が振られる(PRIMARY KEY AUTOINCREMENT)name
→ 名前は必須(NOT NULL)TEXT
→ 文字を入れる型DATE
→ 日付を入れる型
データを登録する(INSERT)
INSERT INTO friends (name, phone, email, birthday)
VALUES ('山田太郎', '090-1234-5678', 'yamada@example.com', '1990-05-15');
INSERT INTO friends (name, phone, email, birthday)
VALUES ('鈴木花子', '080-9876-5432', 'suzuki@example.com', '1992-08-20');
便利な書き方: idは自動で振られるので、書かなくてOKです!
データを見てみる(SELECT)
全部表示:
SELECT * FROM friends;
特定の項目だけ表示:
SELECT name, phone FROM friends;
条件をつけて検索:
SELECT * FROM friends WHERE name LIKE '山田%';
(山田で始まる人を検索)
4. もっと実践的な使い方
データの更新(UPDATE)
電話番号が変わったとき:
UPDATE friends
SET phone = '090-0000-0000'
WHERE name = '山田太郎';
注意点: WHERE句を忘れると、全員の電話番号が変わっちゃいます! 必ず条件を付けましょう。
データの削除(DELETE)
DELETE FROM friends WHERE id = 2;
全データ削除(危険!):
DELETE FROM friends;
これは本当に全部消えるので、要注意です。
便利な集計機能
データ件数を数える:
SELECT COUNT(*) FROM friends;
誕生日順に並べる:
SELECT * FROM friends ORDER BY birthday;
グループ化して集計:
SELECT substr(birthday, 1, 4) as year, COUNT(*) as count
FROM friends
GROUP BY year;
(生まれ年ごとの人数を集計)
5. プログラミング言語との連携

Python で SQLite を使う
Pythonなら標準ライブラリで使えます!
import sqlite3
# データベースに接続
conn = sqlite3.connect('mydata.db')
cursor = conn.cursor()
# データを取得
cursor.execute('SELECT * FROM friends')
for row in cursor.fetchall():
print(row)
# 接続を閉じる
conn.close()
JavaScript (Node.js) で使う
const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('mydata.db');
db.all('SELECT * FROM friends', (err, rows) => {
rows.forEach((row) => {
console.log(row.name);
});
});
db.close();
PHP で使う
$db = new PDO('sqlite:mydata.db');
$stmt = $db->query('SELECT * FROM friends');
foreach ($stmt as $row) {
echo $row['name'] . "\n";
}
どの言語でも、基本的な流れは同じです:
- 接続
- SQL実行
- 結果取得
- 接続を閉じる
6. SQLiteの便利な機能と小技
トランザクション(まとめて処理)
複数の処理をまとめて実行し、エラーがあれば全部キャンセル:
BEGIN TRANSACTION;
INSERT INTO friends VALUES (NULL, '田中一郎', '090-1111-1111', NULL, NULL);
INSERT INTO friends VALUES (NULL, '佐藤二郎', '090-2222-2222', NULL, NULL);
COMMIT;
エラーが起きたら:
ROLLBACK;
インデックスで高速化
検索が遅いと感じたら、インデックスを作成:
CREATE INDEX idx_name ON friends(name);
名前での検索が劇的に速くなります!
バックアップの取り方
コマンドラインから:
sqlite3 mydata.db ".backup backup.db"
SQLite内から:
.backup backup.db
定期的なバックアップは大切です!
7. よくあるトラブルと解決方法
Q: 「database is locked」エラーが出る
原因: 他のプログラムがデータベースを使用中 解決:
- 他のプログラムを終了する
- WALモードを有効にする:
PRAGMA journal_mode=WAL;
Q: 日本語が文字化けする
原因: 文字コードの問題 解決:
- UTF-8で保存されているか確認
- ターミナルの文字コードをUTF-8に設定
Q: データベースファイルが大きくなりすぎた
解決: VACUUMコマンドで最適化
VACUUM;
不要な領域が削除され、ファイルサイズが小さくなります。
Q: パフォーマンスが遅い
チェックポイント:
- インデックスは作成した?
- 適切なデータ型を使っている?
- 不要なデータは削除した?
- ANALYZE コマンドで統計情報を更新:
ANALYZE;
8. SQLiteが向いている用途・向いていない用途
SQLiteが最適な場面
✅ スマートフォンアプリ ✅ デスクトップアプリケーション ✅ 組み込みシステム ✅ プロトタイプ開発 ✅ 小〜中規模のWebサイト ✅ データ分析・集計作業 ✅ 設定ファイルの代わり
SQLiteが不向きな場面
❌ 大規模なWebサービス(同時アクセスが多い) ❌ 複数ユーザーでの同時書き込みが頻繁 ❌ ネットワーク越しのアクセス ❌ 巨大なデータ(数TB以上)
こんな場合は、MySQL、PostgreSQL、MongoDBなどを検討しましょう。
まとめ:SQLiteで今すぐデータベースを始めよう!
SQLiteの魅力、伝わりましたか?
改めて、SQLiteの素晴らしさをまとめると:
✨ 設定不要ですぐ使える ✨ 1つのファイルで完結 ✨ どんな環境でも動く ✨ 学習コストが低い ✨ それでいて本格的
データベースの入門として、これ以上ないくらい最適です。
今すぐ始められること:
- まずはインストール(Macなら不要!)
- 練習用のデータベースを作成
- 簡単なテーブルを作ってみる
- データを入れて、検索してみる
最初は簡単な住所録やToDoリストから始めて、徐々に複雑なデータベースに挑戦していけばOKです。
SQLiteをマスターすれば、他のデータベースも怖くありません。 基本的なSQL文は共通なので、MySQLやPostgreSQLへの移行もスムーズです。
さあ、今日からあなたもデータベースマスターへの第一歩を踏み出しましょう!
次のステップ:
- 公式ドキュメント(英語)で詳細を学ぶ
- 実際のプロジェクトで使ってみる
- より高度なSQL文に挑戦する
データベースは難しくありません。 SQLiteなら、楽しく学べますよ!🎉
コメント