【初心者向け】MacにSQLiteをインストールする方法

Mac

アプリ開発やデータ分析で「簡単に使えるデータベースが欲しい」と思ったことはありませんか?

そんなときにぴったりなのが、**SQLite(エスキューライト)**です。

SQLiteの特徴

  • 軽量:たった1つのファイルでデータベースが完結
  • 高速:小さなデータなら非常に速い
  • 簡単:サーバーを立てる必要がない
  • 無料:商用利用も含めて完全無料

しかも、macOSには最初からSQLiteが入っているので、すぐに使い始めることができます。

この記事では、SQLiteの確認方法から使い方まで、初心者にもわかりやすく説明します。

スポンサーリンク

Macにすでに入っているか確認する

ターミナルを開く

手順

  1. Launchpadを開く
  2. 「その他」フォルダをクリック
  3. 「ターミナル」をクリック

または、Cmd + SpaceでSpotlight検索を開いて「ターミナル」と入力してもOKです。

SQLiteのバージョンを確認

説明 ターミナルで以下のコマンドを入力して、SQLiteが入っているか確認します。

コマンド

sqlite3 --version

実行結果(例)

3.43.2 2023-10-10 13:08:14 1b37ebeacb580cf4df40d4ac830b67a510dfc75e58b40c851d06b3ad57a3c2d5

このようにバージョン情報が表示されれば、SQLiteはすでにインストール済みです。

エラーが出た場合

command not found: sqlite3

このメッセージが出た場合は、SQLiteがインストールされていないので、次の章でインストール方法を説明します。

SQLiteをインストールする方法

Homebrewを使ったインストール(推奨)

説明 Homebrewは、Macでソフトウェアを簡単にインストールできるパッケージマネージャーです。

ステップ1:Homebrewをインストール

Homebrewが入っているか確認

brew --version

バージョンが表示されればHomebrewは入っています。

Homebrewをインストール

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

注意 インストール中にパスワードの入力を求められる場合があります。Macのログインパスワードを入力してください。

ステップ2:SQLiteをインストール

コマンド

brew install sqlite

実行結果(例)

==> Downloading https://ghcr.io/v2/homebrew/core/sqlite/...
==> Installing sqlite
==> Summary
?  /usr/local/Cellar/sqlite/3.43.2: 11 files, 4.4MB

ステップ3:インストールの確認

コマンド

sqlite3 --version

実行結果 新しいバージョンが表示されれば成功です。

手動インストール(Homebrewを使いたくない場合)

説明 Homebrewを使わずにインストールする方法もあります。

ステップ1:SQLiteの公式サイトからダウンロード

  1. SQLite公式サイトにアクセス
  2. 「Precompiled Binaries for Mac OS X (x64)」を探す
  3. sqlite-tools-osx-x64-XXXXXXX.zipをダウンロード

ステップ2:ファイルを配置

# ダウンロードフォルダに移動
cd ~/Downloads

# zipファイルを解凍
unzip sqlite-tools-osx-x64-*.zip

# sqlite3を適切な場所にコピー
sudo cp sqlite-tools-osx-x64-*/sqlite3 /usr/local/bin/

# 実行権限を付与
sudo chmod +x /usr/local/bin/sqlite3

SQLiteを実際に使ってみる

データベースファイルを作成する

説明 SQLiteでは、1つのファイルが1つのデータベースになります。

コマンド

sqlite3 my_first_database.db

実行結果

SQLite version 3.43.2 2023-10-10 13:08:14
Enter ".help" for usage hints.
sqlite>

sqlite>と表示されれば、SQLiteの対話モードに入っています。

基本的なSQL操作を試してみる

例1:テーブルを作成する

CREATE TABLE users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    email TEXT
);

例2:データを挿入する

INSERT INTO users (name, email) VALUES ('田中太郎', 'tanaka@example.com');
INSERT INTO users (name, email) VALUES ('佐藤花子', 'sato@example.com');
INSERT INTO users (name, email) VALUES ('鈴木一郎', 'suzuki@example.com');

例3:データを表示する

SELECT * FROM users;

実行結果

1|田中太郎|tanaka@example.com
2|佐藤花子|sato@example.com
3|鈴木一郎|suzuki@example.com

例4:特定のデータを検索する

SELECT * FROM users WHERE name LIKE '%田中%';

実行結果

1|田中太郎|tanaka@example.com

SQLiteを終了する

コマンド

.quit

またはCtrl + Dを押しても終了できます。

便利なSQLiteコマンド

データベースの情報を確認

テーブル一覧を表示

.tables

テーブルの構造を確認

.schema users

実行結果

CREATE TABLE users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    email TEXT
);

ファイル出力

CSVファイルとして出力

.mode csv
.output users.csv
SELECT * FROM users;
.output stdout

HTML形式で出力

.mode html
.output users.html
SELECT * FROM users;
.output stdout

データベースファイルのバックアップ

コマンド

.backup backup.db

GUIツールを使う(初心者におすすめ)

DB Browser for SQLite

説明 コマンドが苦手な方には、GUIツールがおすすめです。

インストール方法

  1. DB Browser for SQLite公式サイトにアクセス
  2. 「Download」ボタンをクリック
  3. Mac版をダウンロードしてインストール

使い方

  1. アプリを起動
  2. 「Open Database」で作成したデータベースファイルを開く
  3. GUIでテーブル作成やデータ編集が可能

Homebrewでインストール

brew install --cask db-browser-for-sqlite

SQLiteの活用例

家計簿アプリのデータベース

テーブル設計例

-- 支出記録テーブル
CREATE TABLE expenses (
    id INTEGER PRIMARY KEY,
    date TEXT NOT NULL,
    category TEXT NOT NULL,
    amount INTEGER NOT NULL,
    description TEXT
);

-- データ挿入例
INSERT INTO expenses (date, category, amount, description) 
VALUES ('2024-06-01', '食費', 1200, 'ランチ代');

INSERT INTO expenses (date, category, amount, description) 
VALUES ('2024-06-01', '交通費', 300, '電車代');

読書記録データベース

テーブル設計例

-- 本の記録テーブル
CREATE TABLE books (
    id INTEGER PRIMARY KEY,
    title TEXT NOT NULL,
    author TEXT NOT NULL,
    read_date TEXT,
    rating INTEGER,
    notes TEXT
);

-- データ挿入例
INSERT INTO books (title, author, read_date, rating, notes)
VALUES ('SQLite入門', '山田太郎', '2024-06-01', 5, 'とてもわかりやすかった');

ログファイルの管理

テーブル設計例

-- アクセスログテーブル
CREATE TABLE access_logs (
    id INTEGER PRIMARY KEY,
    timestamp TEXT NOT NULL,
    ip_address TEXT NOT NULL,
    url TEXT NOT NULL,
    status_code INTEGER
);

プログラミング言語との連携

Python での使用例

基本的な接続

import sqlite3

# データベースに接続
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# テーブル作成
cursor.execute('''
    CREATE TABLE IF NOT EXISTS products (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        price INTEGER
    )
''')

# データ挿入
cursor.execute("INSERT INTO products (name, price) VALUES (?, ?)", 
               ("ノートPC", 80000))

# データ取得
cursor.execute("SELECT * FROM products")
results = cursor.fetchall()
for row in results:
    print(row)

# 接続を閉じる
conn.commit()
conn.close()

Node.js での使用例

必要なパッケージをインストール

npm install sqlite3

基本的な使用方法

const sqlite3 = require('sqlite3').verbose();

// データベースを開く
const db = new sqlite3.Database('example.db');

// テーブル作成
db.run(`CREATE TABLE IF NOT EXISTS tasks (
    id INTEGER PRIMARY KEY,
    title TEXT NOT NULL,
    completed BOOLEAN DEFAULT 0
)`);

// データ挿入
db.run("INSERT INTO tasks (title) VALUES (?)", ["SQLiteを学ぶ"]);

// データ取得
db.all("SELECT * FROM tasks", (err, rows) => {
    if (err) {
        console.error(err);
    } else {
        rows.forEach(row => {
            console.log(row);
        });
    }
});

// データベースを閉じる
db.close();

よくあるトラブルと解決方法

「permission denied」エラー

問題 ファイルへの書き込み権限がない

解決方法

# ファイルの権限を確認
ls -la *.db

# 権限を変更
chmod 644 your_database.db

「database is locked」エラー

問題 他のプロセスがデータベースを使用している

解決方法

  1. 他のSQLiteセッションを終了する
  2. アプリケーションを再起動する
  3. 必要に応じてファイルのロックを解除する

文字化けの問題

解決方法

-- 文字コードを確認
PRAGMA encoding;

-- UTF-8に設定(通常は自動)
PRAGMA encoding = 'UTF-8';

パフォーマンスの最適化

インデックスの作成

説明 よく検索する列にインデックスを作ると、検索が速くなります。

-- nameカラムにインデックスを作成
CREATE INDEX idx_users_name ON users(name);

-- 複合インデックス
CREATE INDEX idx_users_name_email ON users(name, email);

トランザクションの使用

説明 大量のデータを挿入するときは、トランザクションを使うと高速化できます。

BEGIN TRANSACTION;

INSERT INTO users (name, email) VALUES ('ユーザー1', 'user1@example.com');
INSERT INTO users (name, email) VALUES ('ユーザー2', 'user2@example.com');
-- ... 大量のINSERT文

COMMIT;

SQLiteのメリット・デメリット

メリット

  • 簡単:セットアップが不要
  • 軽量:ファイル1つで完結
  • 高速:小〜中規模のデータなら非常に高速
  • 信頼性:多くのアプリケーションで使用実績あり
  • ポータブル:ファイルをコピーするだけでデータ移行可能

デメリット

  • 同時接続:大量の同時書き込みには不向き
  • データサイズ:超大規模データには不向き
  • ネットワーク:リモートアクセスには不向き
  • ユーザー管理:複雑な権限管理はできない

まとめ

SQLiteの基本操作

やりたいことコマンド
バージョン確認sqlite3 --version
データベース作成sqlite3 database_name.db
テーブル一覧.tables
テーブル構造確認.schema table_name
SQLite終了.quit

覚えておくべきポイント

インストール

  • macOSには標準でSQLiteが入っている
  • 最新版が欲しければHomebrewを使う
  • GUIツールもあるので初心者でも安心

基本操作

  • 1つのファイル = 1つのデータベース
  • 標準的なSQLが使える
  • コマンドは.で始まる

コメント

タイトルとURLをコピーしました