(转)SQLLite数据操作
SQLLite数据操作
一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型:
1.NULL:空值。
2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。
3.REAL:浮点数字,存储为8-byte IEEE浮点数。
4.TEXT:字符串文本。
5.BLOB:二进制对象
也支持一些其它的常用数据类型,在使用时会转换为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',否则在读取时会产生错误!
1.SQLLite数据库的操作语句(基本sql命令):
建表:create table t_student(id INTEGER primary key autoincrement, name varchar(20));
增加: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行)
注意:SQLLite数据库建议所有的表的主键列名应为_id android中也建议采用,如果不采用,在使用SimpleCursorAdapter适配器时会出错
本文出自 “IT之梦” 博客,请务必保留此出处http://dreamboy.blog.51cto.com/3180937/722352