プログラミングを始めたばかりの方や、アプリ開発に取り組む方の中には「SQLite(エスキューライト)」という言葉を耳にしたことがあるかもしれません。
SQLiteは、軽量で使いやすく、インストール不要なデータベースエンジンです。モバイルアプリやデスクトップアプリ、IoT機器などでも広く利用されています。
この記事では、SQLiteを使ってデータベースを作る際の基本的なステップである「テーブルの作成(CREATE TABLE
)」と「データの追加(INSERT
文)」について、初心者にもわかりやすく解説していきます。
これからSQLiteを触ってみたいという方は、ぜひこの記事を参考に、実際に手を動かしながら学んでみてください。
SQLiteとは?簡単におさらい
SQLiteは、サーバーを必要とせず、アプリケーションと一体化して使える軽量なデータベースです。
最大の特徴は「ファイル1つで完結する点」にあり、セットアップが非常に簡単で、初心者にも扱いやすい構造となっています。
以下のような特徴があります:
- 軽量で高速:セットアップ不要で即利用可能
- 移植性が高い:データベースは1つのファイルに格納される
- ACID準拠:トランザクション処理もサポート
- C言語で書かれたオープンソースソフトウェア
Androidアプリの内部データ保存や、Webアプリケーションの開発環境などでもよく使われています。
テーブルを作成する:CREATE TABLE文の基本
データベースを使う上で、最初に行うのが「テーブルの作成」です。
テーブルとは、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文の使い方
テーブルが作成できたら、次はそこにデータを入れてみましょう。
データの追加にはINSERT INTO
文を使います。
基本構文
INSERT INTO テーブル名 (カラム1, カラム2, ...) VALUES (値1, 値2, ...);
具体例:ユーザーを追加する
先ほど作成したusers
テーブルに、ユーザー情報を追加するには以下のように記述します:
INSERT INTO users (name, email, age) VALUES ('山田太郎', 'yamada@example.com', 28);
このSQL文は以下のデータを登録します:
- name: 山田太郎
- email: yamada@example.com
- age: 28
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コマンドラインでの実行手順
SQLiteはコマンドラインツールを使って手軽に操作できます。以下は簡単な手順です。
ステップ1:SQLiteを起動する
sqlite3 sample.db
これでsample.db
という名前のデータベースファイルが作成され、SQLiteの対話モードが起動します。
ステップ2:SQL文を入力する
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);
ステップ3:データ確認
SELECT * FROM users;
このコマンドで、追加されたデータを確認することができます。
よくあるエラーとその対処法
SQLiteを使い始めたばかりの方が遭遇しやすいエラーと、その対策も紹介しておきます。
「table already exists」エラー
すでに存在するテーブルを作成しようとすると出るエラーです。
対策:IF NOT EXISTS
を使うと安全です。
CREATE TABLE IF NOT EXISTS users (...);
「UNIQUE constraint failed」エラー
UNIQUE
制約のあるカラムに重複データを入れようとした場合に発生します。
特にメールアドレスなどでありがちです。
対策:重複しない値を入れるか、INSERT OR IGNORE
を使うことで回避できます。
まとめ:SQLiteは習得コストが低く、学習に最適!
SQLiteは、シンプルな文法と直感的な操作で、初心者にとっても学びやすいデータベースです。
この記事では、以下のポイントを解説しました:
- SQLiteの特徴と用途
CREATE TABLE
でテーブルを作る方法INSERT INTO
でデータを追加する方法- 複数データの追加、エラー対応
学習の第一歩として、SQLiteを使ってデータベースに触れることは、将来的にMySQLやPostgreSQLなどを扱う際にも役立ちます。
まずは気軽に手元のPCで実行し、コツコツとSQL文に慣れていくのがおすすめです。