4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

SQLite は、軽量のリレーショナルデータベース管理システム(RDBMS)で、セットアップや管理が簡単です。

単一のファイルにデータベースを保存するため、特にモバイルアプリケーションや小規模な Web サイトで広く使用されています。

本記事では、SQLite の基本的な使い方について説明します。

SQL の基本用語は以下の記事で解説しています。

SQLiteのインストール

SQLiteは多くのプラットフォームに対応しています。Windows、macOS の各OSでのインストール方法を紹介します。

Windows

  1. SQLiteの公式サイトから、Windows向けのプリコンパイルバイナリをダウンロードします。
  2. ZIPファイルを解凍し、sqlite3.exe を適当なディレクトリに配置します。
  3. コマンドプロンプトを開き、以下のコマンドでインストールを確認します。
    $ sqlite3 --version
    

macOS

macOS にははじめからインストールされています。

  1. ターミナルを開き、以下のコマンドでインストールを確認します。
    $ sqlite3 --version
    

インタラクティブシェルの起動

SQLite のインタラクティブシェルは、データベースを操作するためのコマンドラインツールです。このツールは、ターミナルやコマンドプロンプトから起動して使用します。

インタラクティブシェル内では、以下のことを実行することができます。

  • SQL コマンドの実行
    SQL コマンド(例えば、SELECTDELETE など)を直接入力してデータベースの操作を行います。
  • ドットコマンドの利用
    SQL コマンド以外にも . で始まる特別なコマンドを使用できます。

sqlite3 というコマンドを入力して SQLite のインタラクティブシェルを起動します。

$ sqlite3

sqlite> 

インタラクティブシェルの終了

.quit コマンドで SQLite のインタラクティブシェルを終了することができます。

# SQLite を終了する
sqlite> .quit

ヘルプの表示

sqlite3 -h コマンド

sqlite3 -h コマンドは sqlite3 コマンドの基本的な使用方法やオプションに関する情報が表示されます。

$ sqlite3 -h

Usage: sqlite3 [OPTIONS] FILENAME [SQL]
FILENAME is the name of an SQLite database. A new database is created
if the file does not previously exist.
...

.help コマンド

.help コマンドは SQLite のインタラクティブシェルの起動後に使用します。このコマンドを実行すると、Sシェルで利用可能なドットコマンドのリストが表示されます。

sqlite> .help

.auth ON|OFF             Show authorizer callbacks
.backup ?DB? FILE        Backup DB (default "main") to FILE
.bail on|off             Stop after hitting an error.  Default OFF
...

データベースの作成

データベースの作成方法は、使用する RDBMS の種類によって異なります。

SQLite はファイルベースのデータベース管理システム(DBMS)であり、データベースの作成は非常に簡単です。

SQLite のシェルを起動後、.open コマンドで新しいデータベースを作成し、接続できます。<ファイル名> のデータベースファイルが既に存在する場合は、データベースへの接続のみを実行します。

# ファイル名の拡張子に制約はありません。
sqlite> .open <ファイル名> # .open database.db

SQLite シェルの起動とデータベースの作成を同時に行うこともできます。

$ sqlite3 <ファイル名>

このコマンドを実行すると、 任意の名前(例えば、database.db)の新しいデータベースファイルが作成した上で作成したデータベースに接続されます。
<ファイル名> のデータベースファイルが既に存在する場合は、データベースへの接続のみを実行します。

$ sqlite3 database.db

SQLite version 3.39.5 2022-10-14 20:58:05
Enter ".help" for usage hints.

データベースが作成されているか確認にします。

# データベースが作成されているか確認
sqlite> .databases

.quit コマンドで SQLite のインタラクティブシェルを終了してもデータベースは残ったままです。ls コマンドを実行すると作成したデータベースファイルを確認できます。

$ ls

database.db

データベースへの接続

$ sqlite3 <ファイル名>

上記でも説明しましたが、このコマンドを実行すると、<ファイル名> のデータベースファイルが既に存在する場合は、データベースへの接続を実行します。
存在しない場合は、任意の名前(例えば、database.db)の新しいデータベースファイルが作成した上で作成したデータベースに接続されます。

$ sqlite3 database.db

SQLite version 3.39.5 2022-10-14 20:58:05
Enter ".help" for usage hints.

データベースの削除

SQLite では、データベースは単一のファイルとして保存されます。そのため、データベースを削除するにはファイルを削除する方法が一般的です。

テーブルの作成

SQLite のシェルを起動後、CREATE 文で簡単にデータベースを作成できます。

CREATE TABLE users (
    id INTEGER PRIMARY KEY,
    name TEXT,
    age INTEGER
);

テーブルの基本的な操作

SQLite でも他の RDBMS と同じように SQL を実行できます。

データの挿入

INSERT 文でテーブルにデータを挿入します。

INSERT INTO users (name, age) VALUES ('Alice', 30);
INSERT INTO users (name, age) VALUES ('Bob', 25);

データの取得

挿入したデータを取得するには、SELECT 文を使用します。

SELECT * FROM users;

データの更新

データを更新するには、UPDATE 文を使用します。

UPDATE users SET age = 31 WHERE name = 'Alice';

データの削除

データを削除するには、DELETE 文を使用します。

DELETE FROM users WHERE name = 'Bob';

テーブルの削除

SQLite でテーブルを削除するには、DROP TABLE 文を使用します。
以下は、users というテーブルを削除する例です。

DROP TABLE IF EXISTS users;
  • DROP TABLE: 指定したテーブルを削除します。
  • IF EXISTS: テーブルが存在する場合にのみ削除します。存在しない場合はエラーにならずに処理を終了します。
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?