【SQLite入門】データベースの作成

前回、DB Broser for SQLiteのインストールまで行いました。
今回はこの上にDBを構築します。

データベースとは

ご存じない方の為に、簡単にデータベースの説明をします。不要な方は飛ばして下さい。
スプレッドシートのようにデータを管理するシステムです。
エクセルのようなスプレッドシートとの大きな違いはSQLと呼ぶ言語で制御する点です。

データベースの基本

データベース

データベースの箱になるモノです。
SQLiteではデータベース一つに一つのファイルが生成されます。
データベース名は任意の名前を付けることができますが、SQLiteではデータベース名=ファイル名になりますのでわかりやすい名前を付けましょう。
SQLiteの場合、拡張子は"db","swlite","sqlite3″,"db3″がよく利用されます。

テーブル

データベースの中で実際にデータを格納する場所がテーブルです。
テーブルは複数作成することが出来ます。
エクセルで考えると、ファイルがデータベースでテーブルがシートになります。

テーブルはデータベース内に必ず一つは必要になります。
テーブル名も任意で決めることができますが、SQLiteの予約後などは使用することが出来ません。
今回は"seiseki"名を持つテーブルを作成します。

テーブルは列、行で管理します。
列毎にデータ種類(データ型)を決める必要があります。
列のことをデータベースではフィールドまたはカラムと呼ぶこともあります。

データ型

先ほどテーブルの列毎にデータ型を決める必要があるとしました。
SQLiteで利用出来るデータ型をいかに示します。

データ型 説明
NULL NULL型
INTEGER 符号付き整数(1,2,3,4,5,8バイト)
REAL 浮動小数点(8バイト)
TEXT テキスト(UTF-8,UTF-16,UTF-16-LEのどれか)
BLOB 入力データをそのまま格納(Binary Large Object)

 

データベースを作成しよう

データベースの基本のキを学んだところで早速データベースを作成します。
本来ならSQL文でデータベースを作成するのですが、DB Broser for SQLiteではUIでデータベースを作ることが出来ます。
まずはそこから始めます。

今回は以下のテストの点数をDB化します。

生徒名 国語 算数 理科 社会
山田 80 70 90 60
佐藤 60 40 50 70
田中 75 83 63 92
鈴木 45 83 75 88

データベースの作成

最初にデータを格納するデータベースを作成します。
最初に説明したように、SQLiteではデータベースの名前がファイル名にもなります。
ここでは、"score.db"として進めます。

DB Broser for SQLiteを実行します。
no installer版ではDB Broser for SQLiteフォルダ内にあるDB Broser for SQLite.exeを実行します。

 

新しいデータベースをクリックします。

任意のフォルダを選び、名称を先ほど"score.db"とします。

テーブルを作成します。

テーブルの名称はseisekiを入れます

次にフィールド(列)のデータを入力します。
先に示したように今回はテストの成績表です。
どのようなデータ型を入れる下記に示します。

列番号 データ型 内容
TEXT 生徒名
2 INTEGER 国語の点数
3 INTEGER 算数の点数
4 INTEGER 理科の点数
5 INTEGER 社会の点数

追加をクリックするとフィールドにデータを入力できます

最初のフィールド(列)は生徒名が入ります

データ型は選択式です、今回はTEXT型になります。

フィールドに制約条件を付けることが出来ます。

制約条件は下記のようになっています

制約条件 画面 説明
NOT NULL NN 設定されたカラムはNULL禁止となる
PRIMARY KEY PK プライマリーキーを示す。プライマリーキーはテーブル内で一つのみ。プライマリーキーのデータは重複しないことが保証される
AUTOINCREMENT AI データを追加した場合に、自動的にインクリメントされた値が入る。
UNIQUE U このカラムのデータの重複は禁止となる
Default デフォルト 値を省略するとデフォルト値が入る
Check 検査 データを追加する際に条件を満たすかチェックする

今回は、制約条件は付けないことにします。

同様に他のカラムもデータ型をセットしましょう。

OKを押すとテーブルが作成されます。
作成したテーブルの内容は赤丸部分を触ると広くなり表示されます

 

ここまででデータベースの作成を完了しました。
今回はここで終了です。
次回からデータベースのアクセスを行います。