|
sqlite でのデータ型
データ型の位置付け
- 通常の(sqlite以外の)データベースは、データ型を指定してテーブルを作成する
- sqlite では、型の指定は必須ではなく、推奨
- 整数型のカラムに文字列を格納してもエラーとならない
データ型 (ストレージクラス)
型 | 意味 |
---|
NULL | ・値が何も格納されていない時の値 ・データ型を指定していても、データが無ければ NULL となる | INTERGER | ・正の整数及び、負の整数 ・サイズは値により可変で、1~8 バイト ・INT や INTEGER と記述するが、PRIMARY KEY やオートインクリメントの場合、INTEGER と記述する必要がある | REAL | ・浮動小数点 ・8 バイトの IEEE 浮動小数点として格納される | TEXT | ・文字列 ・データベースのエンコーディング (UTF-8, UTF-16BE, UTF-16LE) を使用して格納される ・CHAR や VARCHAR は TEXT として扱われる | BLOB | ・バイナリラージオブジェクト ・入力されたデータがそのまま格納される |
アフィニティ
- 各カラムには、格納データがどのような型になるか(affinity)を持つ
- 型を指定しても、どんなデータでも格納できることに変わりは無い
型 | 意味 |
---|
TEXT | ・VARCHAR や CHAR などは TEXT として扱われる ・数値を格納しても TEXT になる | NUMERIC | ・数値は INTEGER または REAL に振り分けられる | INTEGER | ・NUMERIC と同じだが、小数点以下が 0 の場合は整数値として表示 | REAL | ・NUMERIC と同様に数値を扱う ・小数点以降も表示 | NONE | ・完全に追加されるデータの型に従う |
|
|