SQLite入門:テーブル作成からデータ追加までの基本操作を解説!

プログラミングを始めたばかりの方や、アプリ開発に取り組む方の中には「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文は以下のデータを登録します:

idINTEGER 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文に慣れていくのがおすすめです。

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