SQLite はすでに入っているかも(だいたい入ってます)
何かをインストールする前に、まずは今ある環境を確認してみましょう。SQLite は macOS や主要な Linux ディストリビューションに最初から入っていますし、普段使っているアプリの中にも組み込まれています。ターミナルを開いて、次のコマンドを実行してみてください。
sqlite3 --version
もし 3.43.2 2023-10-10 ... のような表示が出たら、インストールは完了です。このページ末尾の動作確認セクションまで読み飛ばしてOKです。command not found と出たり、バージョンが3.35より古かった場合は、このまま読み進めてください。Windows、macOS、Linuxの順に手順を紹介します。
ここでインストールするのは sqlite3 というコマンドラインツールです。プログラムからリンクして使うライブラリ本体は別パッケージですが、たいていのインストーラはまとめて同梱してくれています。
Windows での sqlite インストール手順とPATH設定
WindowsにはSQLiteがプリインストールされておらず、しかも一般的なインストーラ形式では配布されていません。実行ファイルが入った小さなzipを、好きな場所に置いて使う形になります。
- sqlite.org/download.html にアクセスします。
- Precompiled Binaries for Windows の項目から、
sqlite-tools-win-x64-*.zipという名前のファイルをダウンロードします。 - 適当なフォルダに展開します。
C:\sqliteあたりがよく使われる場所です。 - そのフォルダを
PATHに追加して、どのディレクトリからでもsqlite3コマンドを実行できるようにします。
PATHへの追加方法はこうです。スタートメニューを開き、「環境変数」で検索して システム環境変数の編集 をクリック、続いて 環境変数... を押します。ユーザー環境変数の中から Path を選んで 編集 をクリックし、新しいエントリとして C:\sqlite を追加します。
PATHの変更はすでに開いているターミナルには反映されないので、必ず 新しい ターミナルウィンドウを開いてから動作を確認します。
sqlite3 --version
バージョン文字列が表示されればOKです。もし 'sqlite3' is not recognized と出る場合は、PATHにフォルダが追加されていないか、新しく開いたターミナルがまだ変更を反映していないかのどちらかです。
macOS:Homebrew で最新版の sqlite をインストール
macOS には標準で sqlite3 が入っていますが、システム同梱版は本家より1〜2年ほど遅れたバージョンです。チュートリアルやちょっとした用途ならそれで十分でしょう。ただ、STRICT テーブル、JSON 関連の改善、強化されたウィンドウ関数といった新しい機能を使いたいなら、Homebrew で最新版を入れておくのがおすすめです。
brew install sqlite
Homebrew は SQLite を独自の prefix にインストールする仕組みになっていて、システム標準のものをわざと上書きしません。Homebrew 版をデフォルトで使いたい場合は、PATH の先頭に追加しておきましょう。次の行を ~/.zshrc に書き加えます。
export PATH="/opt/homebrew/opt/sqlite/bin:$PATH"
(Intel Macの場合は /usr/local/opt/sqlite/bin を指定してください。)source ~/.zshrc でシェルを再読み込みし、確認します:
sqlite3 --version
バージョンが古いままなら、システムにある sqlite3 が PATH の優先順位で勝っている状態です。export の行が他の PATH 設定よりも先に来ているか、もう一度確認してみてください。
Linux:パッケージマネージャーで sqlite3 をインストール
ほぼすべての Linux ディストリビューションで、SQLite は標準リポジトリに用意されています。コマンドはディストリごとに異なります。
# Debian、Ubuntu、Mint
sudo apt update
sudo apt install sqlite3
# Fedora、RHEL、CentOS Stream
sudo dnf install sqlite
# Arch、Manjaro
sudo pacman -S sqlite
# Alpine
sudo apk add sqlite
パッケージ名は Debian 系では sqlite3、それ以外のディストリビューションではたいてい sqlite になっています。どちらをインストールしても、sqlite3 コマンドラインツールと、他のプログラムが SQLite を組み込んで使うための共有ライブラリが一緒に入ります。
最新バージョンがどうしても必要で、お使いのディストロのパッケージが古い場合は、ソースからビルドする手もあります。sqlite.org から amalgamation の tarball をダウンロードして、./configure && make && sudo make install を実行すればOKです。とはいえ、ほとんどの人にとってはパッケージマネージャー経由のバージョンで十分でしょう。
インストールの確認
どの方法でインストールした場合でも、確認手順は同じ2ステップで完結します。まずはバージョンを確認しましょう。
sqlite3 --version
バージョン番号と日付、それからビルドハッシュが表示されるはずです。続いて、引数なしで SQLite シェルを起動してみましょう。こうするとインメモリのデータベースが立ち上がるので、気軽に試せます。
sqlite3
sqlite> というプロンプトが表示されたら準備完了です。試しに簡単なクエリを打ち込んで、ちゃんと動くか確認してみましょう。
バージョン文字列と挨拶メッセージが返ってくるはずです。シェルを終了するには、.quit と入力して Enter を押します。先頭のドットが重要で、これによって SQLite はシェルコマンド(.quit、.help、.tables)と SQL 文を区別しています。
よくあるつまずきポイント
初めてインストールしたときにハマりやすいポイントをいくつか挙げておきます。
- インストール後に
sqlite3: command not foundと出る。 バイナリはどこかにあるけれど、PATH が通っていない状態です。Windows なら環境変数をもう一度確認しましょう。macOS で Homebrew を使った場合は、export PATH=...の行がシェルの設定ファイルに書かれているか、そしてターミナルを開き直したかをチェックしてください。 - macOS で意図しないバージョンが表示される。 システム標準の
sqlite3が/usr/bin/sqlite3にあり、ほぼ確実にこちらが優先されます。which sqlite3を実行して、どちらが呼ばれているか確認しましょう。Homebrew 版を使うには、PATH の中で先に来るよう設定する必要があります。 .quitが効かない。 先頭のドットを付けずにquitと打っている可能性が高いです。SQLite はそれを SQL として解釈しようとします。シェルコマンドは必ず.から始めましょう。- データベースファイル作成時に書き込み権限のエラーが出る。 SQLite は実行したディレクトリへの書き込み権限を必要とします。
cdで書き込めるディレクトリへ移動するか、sqlite3 ~/mydb.dbのようにパスを明示して指定してください。
sqlite3 --version が動き、SELECT も実行できれば準備完了です。このカリキュラムの以降の内容は、すべて今インストールした CLI を土台にして進めていきます。
次のステップ:SQLite CLI を使いこなす
sqlite3 に PATH が通ったので、次はその使い方を覚えていきましょう。SQLite シェルには .tables、.schema、.mode、.import といった少数のドットコマンドが用意されていて、これらを使いこなすと驚くほど高機能なデータベースクライアントになります。次のページではその辺りを詳しく見ていきます。
よくある質問
WindowsにSQLiteをインストールするには?
sqlite.org から sqlite-tools のzipをダウンロードして、C:\sqlite のような分かりやすい場所に展開し、そのフォルダをPATHに追加するだけです。あとは新しいターミナルを開いて sqlite3 --version を実行すれば確認できます。インストーラーは用意されておらず、SQLiteは実行ファイル1つで動くシンプルな作りです。
macOSにSQLiteをインストールするには?
macOSには標準で sqlite3 が入っているので、そのまま使えるケースがほとんどです。最新版を使いたい場合はHomebrewで brew install sqlite を実行しましょう。Homebrew版はシステム標準のものを上書きしないので、新しい方を優先したいときはPATHの順序を調整する必要があります。
UbuntuなどのLinuxにSQLiteをインストールするには?
Debian系・Ubuntuなら sudo apt install sqlite3、Fedoraなら sudo dnf install sqlite、Archなら sudo pacman -S sqlite でOKです。パッケージマネージャ経由で sqlite3 のCLIツールと共有ライブラリがまとめて入ります。
SQLiteがインストールされているか確認するには?
ターミナルで sqlite3 --version を実行してみてください。インストール済みでPATHが通っていれば、バージョン番号とビルド日付が表示されます。command not found と出る場合は、未インストールか、インストール先のパスがPATHに含まれていないかのどちらかです。