プログラミングを始めたばかりの方や、アプリ開発に取り組む方の中には「SQLite(エスキューライト)」という言葉を耳にしたことがあるかもしれません。
SQLiteは、軽量で使いやすく、インストール不要なデータベースエンジンです。モバイルアプリやデスクトップアプリ、IoT機器などでも広く利用されています。
この記事では、SQLiteを使ってデータベースを作る際の基本的なステップである「テーブルの作成(CREATE TABLE
)」と「データの追加(INSERT
文)」について、初心者にもわかりやすく解説していきます。
これからSQLiteを触ってみたいという方は、ぜひこの記事を参考に、実際に手を動かしながら学んでみてください。
SQLiteは、サーバーを必要とせず、アプリケーションと一体化して使える軽量なデータベースです。
最大の特徴は「ファイル1つで完結する点」にあり、セットアップが非常に簡単で、初心者にも扱いやすい構造となっています。
以下のような特徴があります:
Androidアプリの内部データ保存や、Webアプリケーションの開発環境などでもよく使われています。
データベースを使う上で、最初に行うのが「テーブルの作成」です。
テーブルとは、Excelでいうところの「シート」のようなもので、情報を整理して保存するための入れ物です。
CREATE TABLE テーブル名 (
カラム名1 データ型1,
カラム名2 データ型2,
...
);
たとえば、ユーザーの名前やメールアドレスを保存するテーブルを作る場合、以下のようなSQL文を使用します:
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL,
age INTEGER
);
この例では以下のような構成になっています:
id
: 主キー。自動で一意の番号が割り振られますname
: ユーザー名。NOT NULL
は必須入力を意味しますemail
: メールアドレス。一意でなければならない制約がついていますage
: 年齢。整数で格納しますこのように、テーブル作成時には「どんなデータを扱うか?」をしっかり定義しておくことが重要です。
SQLiteには5つの基本的なデータ型があります。使い方を誤ると、思わぬバグの原因になることもあるので、ここで整理しておきましょう。
データ型 | 説明 |
---|---|
INTEGER | 整数 |
REAL | 小数点を含む数値 |
TEXT | 文字列 |
BLOB | バイナリデータ |
NULL | 値が存在しない(空) |
SQLiteは動的型付けという特徴を持っており、厳密な型制約はありませんが、使い方のルールは守るべきです。
テーブルが作成できたら、次はそこにデータを入れてみましょう。
データの追加にはINSERT INTO
文を使います。
INSERT INTO テーブル名 (カラム1, カラム2, ...) VALUES (値1, 値2, ...);
先ほど作成したusers
テーブルに、ユーザー情報を追加するには以下のように記述します:
INSERT INTO users (name, email, age) VALUES ('山田太郎', 'yamada@example.com', 28);
このSQL文は以下のデータを登録します:
id
はINTEGER PRIMARY KEY
に設定されているため、自動的に連番が振られます。
1件ずつ追加するのは大変なので、複数行をまとめて追加することも可能です:
INSERT INTO users (name, email, age) VALUES
('佐藤花子', 'sato@example.com', 35),
('鈴木一郎', 'suzuki@example.com', 22),
('田中美咲', 'tanaka@example.com', 30);
まとめてデータを入れることで、実行回数が減り、処理速度も向上します。
SQLiteはコマンドラインツールを使って手軽に操作できます。以下は簡単な手順です。
sqlite3 sample.db
これでsample.db
という名前のデータベースファイルが作成され、SQLiteの対話モードが起動します。
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL,
age INTEGER
);
INSERT INTO users (name, email, age) VALUES ('山田太郎', 'yamada@example.com', 28);
SELECT * FROM users;
このコマンドで、追加されたデータを確認することができます。
SQLiteを使い始めたばかりの方が遭遇しやすいエラーと、その対策も紹介しておきます。
すでに存在するテーブルを作成しようとすると出るエラーです。
対策:IF NOT EXISTS
を使うと安全です。
CREATE TABLE IF NOT EXISTS users (...);
UNIQUE
制約のあるカラムに重複データを入れようとした場合に発生します。
特にメールアドレスなどでありがちです。
対策:重複しない値を入れるか、INSERT OR IGNORE
を使うことで回避できます。
SQLiteは、シンプルな文法と直感的な操作で、初心者にとっても学びやすいデータベースです。
この記事では、以下のポイントを解説しました:
CREATE TABLE
でテーブルを作る方法INSERT INTO
でデータを追加する方法学習の第一歩として、SQLiteを使ってデータベースに触れることは、将来的にMySQLやPostgreSQLなどを扱う際にも役立ちます。
まずは気軽に手元のPCで実行し、コツコツとSQL文に慣れていくのがおすすめです。