SQLite3¶
データ型¶
SQLite3データベース格納型¶
SQLite3 のデータベースに格納できる値の型は次のとおりです。
Datatypes In SQLite Version 3
型 | 内容 |
---|---|
NULL | NULL値 |
INTEGER | 符号付き整数、値の大きさにより 1,2,3,4,6,または8バイトで格納される |
REAL | 浮動小数点数、8バイト IEEE浮動小数点数で格納される |
TEXT | 文字列、データベースのエンコーディング(UTF-8,UTF-16BE,またはUTF-16LE)で格納される |
BLOB | blobデータ、値そのままで格納される |
- INTEGERは格納されたサイズによらずメモリに読みだされた際はもっとも汎用的な型(8バイト符号付き整数)に変換される。
SQLデータ型との対応¶
- Booleanは、整数値(0: 偽、1: 真)として格納
- DateおよびDateTimeは、Date And Time関数を介してTEXT、REALまたはINTEGER型として格納
- TEXTの場合は、ISO8601文字列("YYYY-MM-DD HH:MM:SS.SSS")の形式
- REALの場合は、ユリウス暦でグリニッジ標準時 紀元前4714年11月24日正午からの積算日数
- INTEGERの場合は、UNIX時刻で西暦1970年1月1日 00:00:00 UTCからの積算秒
AUTOINCREMENT¶
過去に使用した値は delete されていても再利用されません。
SQLite特有の機能¶
ROWID¶
SQLite でテーブルを作成すると、自動的に隠れたカラム ROWID が生成されます。INTEGER型で一意な値を保持し、レコードを挿入すると自動で値を割り当てます。機能的にはINTEGER PRIMARY KEYと同一で、テーブルのカラムに明示的にINTEGER PRIMARY KEYを指定した場合、そのカラムの値が ROWID の値となります。(この場合、ROWIDはINTEGER PRIMARY KEYのカラムへのエイリアスとなる)