データベースが情報をテーブルにどう整理するかを知り、SQLiteで最初のテーブルを作成しましょう。
このレッスンを Kodokon で開くデータベースとは、コンピューターの電源を切っても、情報を整理された形で永続的に保存するソフトウェアです。最も普及しているモデルがリレーショナルモデルです。データはテーブルに配置されます。テーブルは表計算シートのようなものです。各列はプロパティ(タイトル、価格など)を記述し、各行は完全な一項目(たとえば特定の一冊の本)を表します。SQL(Structured Query Language、構造化問い合わせ言語)は、これらのテーブルを作成し、その中身を問い合わせるために使う言語です。データベースに送る各命令はクエリと呼ばれます。
CREATE TABLE books (
id INTEGER PRIMARY KEY,
title TEXT,
author TEXT,
genre TEXT,
year INTEGER,
price REAL
);このクエリを分解してみましょう。CREATE TABLE booksはbooksという名前のテーブルを作成します。丸括弧の中では、各行が列を宣言します。名前、続いてその型、つまり受け入れるデータの種類です。SQLiteでは、主な型はINTEGER(整数)、REAL(小数)、TEXT(テキスト)、そしてBLOB(画像などのバイナリデータ)です。値がないことはNULLと書きます。最後に、PRIMARY KEYは主キーを指定します。これは各行を一意に識別する値を持つ列で、案件番号のようなものです。
INSERT INTO books (id, title, author, genre, year, price)
VALUES
(1, 'Dune', 'Herbert', 'sf', 1965, 9.9),
(2, 'Fondation', 'Asimov', 'sf', 1951, 8.5),
(3, '1984', 'Orwell', 'sf', 1949, 7.2),
(4, 'Croc-Blanc', 'London', 'aventure', 1906, 5.5),
(5, 'Les Robots', 'Asimov', 'sf', 1950, 7.9),
(6, 'Deux ans de vacances', 'Verne', 'aventure', 1888, 6.9),
(7, 'Le Petit Prince', 'Saint-Exupery', 'conte', 1943, 6.5);INSERT INTOクエリはテーブルに行を追加します。最後のレッスンで詳しく扱います。テキストの値は二重引用符ではなく、必ずシングルクォート('Dune')で囲むことに注目してください。では、読み取りクエリSELECTで、すべてがそろっているか確認しましょう。
SELECT * FROM books;7行6列が見えるはずです。最初のデータベースが動きました。このレッスンのCREATE TABLE+INSERTスクリプトは大切に取っておきましょう。これ以降のすべてのレッスンは、この同じbooksテーブルに依存します。ブラウザやターミナルを閉じてしまったら、もう一度実行するだけで同じ地点からやり直せます。