天天看點

SQLLite資料操作

一般資料采用的固定的靜态資料類型,而SQLite采用的是動态資料類型,會根據存入值自動判斷。SQLite具有以下五種資料類型:

1.NULL:空值。

2.INTEGER:帶符号的整型,具體取決有存入數字的範圍大小。

3.REAL:浮點數字,存儲為8-byte IEEE浮點數。

4.TEXT:字元串文本。

5.BLOB:二進制對象

<b> </b>

也支援一些其它的常用資料類型,在使用時會轉換為SQLLite内置的資料類型:

smallint 16   位元的整數。

interger 32   位元的整數。

decimal(p,s) p 精确值和 s 大小的十進位整數,精确值p是指全部有幾個數(digits)大小值,s是指小數點後有幾位數。如果沒有特别指定,則系統會設為 p=5; s=0 。

float       32位元的實數。

double 64位元的實數。

char(n) n 長度的字串,n不能超過 254。

varchar(n) 長度不固定且其最大長度為 n 的字串,n不能超過 4000。

graphic(n) 和 char(n) 一樣,不過其機關是兩個字元 double-bytes, n不能超過127。這個形态是為了支援兩個字元長度的字型,例如中文字。

vargraphic(n) 可變長度且其最大長度為 n 的雙字元字串,n不能超過 2000

date   包含了 年份、月份、日期。

time 包含了 小時、分鐘、秒。

imestamp 包含了 年、月、日、時、分、秒、千分之一秒。

datetime 包含日期時間格式,必須寫成'2010-08-05'不能寫為'2010-8-5',否則在讀取時會産生錯誤!

<b>1.</b><b>SQLLite</b><b>資料庫的操作語句(</b>基本sql指令<b>)</b><b>:</b>

建表:create table t_student(id INTEGER primary key autoincrement, name varchar(20));

<b>   </b>增加:insert into t_student (id,name) values(1,’happy’);

         如果主鍵是int類型的,并且沒有使用autoincrement自動增長,預設也是自動增長的

         執行 insert into t_student (id,name) values(’good’); id會自動增長

   查詢:select id,name from t_student;

   更新:update t_student set name=’verygood’ where id=2;

   删除:delete from t_student where id=2;

   排序:select id,name from t_student order by id desc;   (根據id降序排)

   分組:select id,name from t_student group by name;    (有待研究)

         分組後篩選:having

   分頁:select id,name from t_student limit(0,2);--------------從第0行開始,不包括0行,取2行(取第1,2行)

         select id,name from t_student limit(2,2);--------------- (取第3,4行)

<b>注意:SQLLite</b><b>資料庫建議所有的表的主鍵列名應為_id android</b><b>中也建議采用,如果不采用,在使用SimpleCursorAdapter</b><b>擴充卡時會出錯</b>