データ型

Posted by muchag | SQLite | 2011-01-23 (日) 22:09:57

SQLite では、カラムのデータ型は指定しなくていいらしい。
なんてアバウトな・・・。

  1. create table hoge (id, name, height)

 

カラムのデータ型指定(アフィニティ)

でもまぁ、もちろん指定してもいいわけで
その際に使えるのは以下の5種類。

  • TEXT
  • NUMERIC
  • INTEGER
  • REAL
  • NONE

 

  1. create table hoge (id INTEGER, name TEXT, height REAL)

なんていう風に記述。

あ、大文字小文字の区別はないっぽい。
 

PRIMARY KEY

このとき

  1. create table hoge (id INTEGER PRIMARY KEY, name TEXT, height REAL)

としてやると、id カラムへは 自動で ID 番号を追加 してくれる機能が付加される。

ただし、この場合の追加規則は ID 番号最大値 + 1 なので、
最終レコードを削除した後に新しいレコードを挿入すると
先ほど削除した ID 番号が追加 される。

参考元:DBOnline.JP INTEGER PRIMARY KEYが設定されたカラム
 

AUTOINCREMENT

同じ番号を2度と使いたくない場合は、以下のように記述すること。

  1. create table hoge (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, height REAL)

参考元:DBOnline.JP AUTOINCREMENT
 

値のデータ型分類(ストレージクラス)

さて、ここからが今一よくわからない。

ストレージクラス とは、SQLite がそれぞれのデータをどう捉えるか、というものらしい。
上記のカラムのデータ型とは異なるらしい。。。
意味がよく分からない。。。そのうち。。。 🙄

その ストレージクラス とは、以下の5種類。

  • NULL – NULL値
  • INTEGER – 符号付整数。1, 2, 3, 4, 6, or 8 バイトで格納
  • REAL – 浮動小数点数。8バイトで格納
  • TEXT – テキスト。UTF-8, UTF-16BE or UTF-16-LEのいずれかで格納
  • BLOB – Binary Large OBject。入力データをそのまま格納

<参考引用元サイト>
DBOnline.JP:SQLiteで利用可能なデータ型
Third impact:SQLite Version 3 におけるデータ型

SQLite | 2011-01-23 (日) 22:09:57 |

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment