Hatena::Groupandroid

lnzntの Android 日記 このページをアンテナに追加 RSSフィード

2010年11月09日(火)

SQLite3 学習メモ(その3) データ型の変換

| 08:36 | SQLite3 学習メモ(その3) データ型の変換 - lnzntの Android 日記 を含むブックマーク はてなブックマーク - SQLite3 学習メモ(その3) データ型の変換 - lnzntの Android 日記 SQLite3 学習メモ(その3) データ型の変換 - lnzntの Android 日記 のブックマークコメント

SQLite3 の学習メモです。

参考サイト

データ型の変換

データ型の変換を試してみました。

sqlite> create table test (nval, tval text, ival integer, rval real);
sqlite> insert into test values (null, null, null, null);
sqlite> insert into test values(1,1,1,1);
sqlite> insert into test values(1.1,1.1,1.1,1.1);
sqlite> insert into test values('1','1','1','1');
sqlite> insert into test values('A','A','A','A');
sqlite> .mode column
sqlite> .header on
sqlite> select typeof(nval),nval,typeof(tval),tval,typeof(ival),ival,typeof(rval),rval from test;
typeof(nval)  nval        typeof(tval)  tval        typeof(ival)  ival        typeof(rval)  rval      
------------  ----------  ------------  ----------  ------------  ----------  ------------  ----------
null                      null                      null                      null                    
integer       1           text          1           integer       1           real          1.0       
real          1.1         text          1.1         real          1.1         real          1.1       
text          1           text          1           integer       1           real          1.0       
text          A           text          A           text          A           text          A         

primary key 制約の integer 型

上記サイトから引用。

>>>

カラムのデータ型は「INT」が含まれる場合、全てINTEGER型となりますが、連番が自動的に割り振られるのはカラムに対して「INTEGER PRIMARY KEY」と記述した場合だけです。「INT PRIMARY KEY」ではこのような特別な動作はしません)。

sqlite> create table address(id integer primary key, name text);
sqlite> 
sqlite> insert into address(name) values('安藤');
sqlite> insert into address(name) values('本田');
sqlite> insert into address(name) values('山下');
sqlite> select * from address;
id          name      
----------  ----------
1           安藤    
2           本田    
3           山下    
sqlite> 

<<<

Android でのテーブル定義

Content Provider では '_id' というカラムを使用するらしい。