概要
今回はSQLを操作できる環境の構築からデータ閲覧までを行う
DBを操作するツールのインストール、データ登録、データ閲覧を習得できているはずだ
DB Browser for SQLiteのインストール

まずはデータベースを操作するためのツールをインストールするところから始めよう
画面上のURLにアクセスし自分が使用しているOSにあったものをダウンロードしよう
ダウンロードが完了したらインストーラーを起動してツールをインストールしよう
インストールが完了したらツールを開いてみよう
データベース作成


まずはデータベースを作成してみよう
まず、新しいデータベースをクリックし適当な場所で適当なファイル名を入力し保存をクリックする
これでデータベースが作成される
テーブル作成

次に、テーブルを作成してみよう
左上のテーブルを作成をクリックしてみよう
すると、テーブルの定義を編集する画面が表示される。

一番上の空欄にテーブル名を入力してみよう
続いて、テーブルのカラム名を入力しよう
フィールドタブの追加をクリックするとカラムを入力できるようになる
カラム名を入力してみよう
カラム名は大文字と小文字を区別しない点には注意が必要だ

続いてデータ型を選択しよう
データ型はINTEGER、TEXT、BLOB、REAL、NUMERICが選択できる
INTEGERは整数
TEXTは文字列
BLOBはバイナリデータ
REALは小数点
NUMERICは数値を表している
また、カラムに対する型のほかに、データ自体にも型のようなものが存在する
これはクラスと呼ばれる
クラスにはNULL、INTEGER、REAL、TEXT、BLOBの5つが存在する
NULLはデータが存在しないことを表す
INTEGERは整数
REALは小数点値
TEXTは文字列
BLOBはバイナリデータを表す
クラスと型という似たような概念があってややこしいわね。二つはどう関係するのかしら?
カラムに値を入力しようとする際に、組み合わせに応じて適切な値に変換される
NUMERIC型には全てのクラスを格納できるが、まずINTEGERかREALクラスへの変換を試し、
変換できれば変換できた値として格納し、変換できなければ文字列として格納する
また、NULL、BLOBクラスは変換せずに格納する
TEXT型にはNULL、TEXT、BLOBクラスの値を格納可能で、数値データを格納しようとすると
テキストに変換される
INTEGERはNUMERICと基本同じ
REALはNUMERICと基本おなじだが、整数値は小数点として格納する
BLOBはどんなタイプも変換せずに格納する
INTEGERがNUMERICと同じなら何に使うのかしら
INTEGERは型変換するさいに使われる
CAST(小数点 AS INTEGER)とすることで小数点を整数に変換するのに使われる
例を見てみよう
SQL実行タブでSELECT CAST(1.2 as INTEGER);と入力してみよう
そうすると下の画面にCAST(1.2 as INTEGER)の結果が出力される
変換のルールが複雑なのは
SQLiteと他のデータベースとの連携を想定しているのでこのようになっているんだ
他のデータベースとの連携を考えないのであればそこまで神経質になる必要はないと思う
整数ならINTEGER、文字列ならTEXT、小数点ならREAL、
バイナリデータはBLOB、それ以外はNUMERICを使えばよい
カラム制約
カラムには制約を付けることができるので主だったものを解説しよう
NNはNOT NULL
PKは主キー
AIはオートインクリメント
Uはユニーク制約
デフォルトはデフォルト値の設定だ
NOT NULLはNULLデータを入力できなくなる制約だ
今回はname, priceに付与する
続いてIDにオートインクリメントを付与する
オートインクリメントをカラムに付与することで連番が自動で生成されるようになる
従ってIDのような主キーには最適な制約だ
次にnameにユニーク制約を付与する
ユニーク制約を付与すると、設定したカラムのデータ内で同じ値を入力できなくなる
主キーは一つのテーブルに対して一つしか付与できないが、ユニーク制約は複数付与できる
また、主キーカラムにNULLは入力不可だが、ユニーク制約カラムには入力可能だ
テーブルの作成

カラムの設定が完了したらOKをクリックするとテーブルが作成される
次は作成したテーブルにデータを追加してみよう

データ閲覧タブをクリックし、新しいレコードを現在のテーブルに挿入をクリックする

すると行が追加される

name列のマスをダブルクリックすると編集状態になり、適当な値を入力する
右下の適用をクリックする

すると変更がテーブルに反映されているのがわかる




同様にprice列のマスをダブルクリックし、適当な値を入力し、右下の適用をクリックすると
テーブルに変更が反映されるのがわかる