android SQLite数据库

SQLite简介            
    SQLite:是在android平台上集成的一种嵌入式关系数据库。Google为Andriod的较大的数据处理提供了            
SQLite,他在数据存储、管理、维护等各方面都相当出色,功能也非常的强大。            
SQLite数据类型            
    SQLite支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)、BLOG(二进制对象)五种数据类型            
注:虽然支持的类型只有五种,但实际上sqlite也接受varchar(n)、char(n)、decimal(p,s)指定精度            
或对象能够控制的数字个数等数据类型,只是在运算或保存时会转换成对应的五种数据类型。            
SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。            
如:可以在integer字段中存放字符串。但是一种情况例外:定义为integer primary key的字段只能存放64            
位整数。否则会出现错误。在创建表的时候,可以省略字段名称后面的数据类型,但是为了方便阅读,最好还            
还是写上。                
创建数据库            
     由于手机客户端无法手工在手机上创建sqlite数据库,因此,应用程序要具有手工创建数据库功能。            
用到的工具类:SQLiteOpenHelper            
"
" SQLiteOpenHelper是SQLiteDatabase的一个帮助类,用来管理数据库的创建和版本的更新。一般是建           
 立一个类继承它,并实现它的onCreate和onUpgrade方法。           
其中有四个方法:            
1.onCreate():是在数据库每一次创建的时候调用的;            
2.onUpgrade():  version数据库文件的版本号改变的时候调用;          
3.getWritableDatabase():创建或打开一个读写数据库;            
4.getReadableDatabase():创建或打开一个只读数据库;            
注:3跟4虽然都可以读取数据库数据,但是一般在读取数据库数据的时候选取4方法。因为如果调用3方法,当            
数据库存储空间最大时,会出现异常;            
SQLiteDatabase类较常用的方法     

(返回值)方法名   方法描述 
(int) delete(String table,String whereClause,String[] whereArgs)  删除数据行的便捷方法   
(long) insert(String table,String nullColumnHack,ContentValues values) 添加数据行的便捷方法
(int) update(String table, ContentValues values, String whereClause, String[] whereArgs)     更新数据行的便捷方法   
(void) execSQL(String sql) 执行一个SQL语句,可以是一个select或其他的sql语句
(void) close()   关闭数据库      
(Cursor) query(String table, String[] columns, String selection,String[] selectionArgs, String groupBy, String having, String orderBy, String limit)   查询指定的数据表返回一个带游标的数据集    
(Cursor) rawQuery(String sql, String[] selectionArgs)   运行一个预置的SQL语句,返回带游标的数据集(与上面的语句最大的区别就是防止SQL注入)
 注:query个参数说明:table:表名称 ,colums:列名称数组 ,selection:条件子句,相当于where ,selectionArgs:条件语句的参数数组 ,groupBy:分组             
,having:分组条件 ,orderBy:排序类 ,limit:分页查询的限制             
SQLite的操作语句            
1.查询语句            
select * from 表名 where条件group by 分组      having…order by 排序      
分页sql语句            
select * from 表名 limit 5 offset 3, select * from 表名 limit 3,5            
2.插入语句            
insert into 表名(字段列表)values(值列表)            
3.更新语句            
update 表名 set 字段名=值 where 条件子句             
4.删除语句            
delete from 表名 where 条件子句            
            
针对游标(Cursor)方法介绍            
1.getCount():总记录条数            
2.isFirst():判断是否第一条记录            
3.isLast():判断是否最后一条记录            
4.moveToFirst():移动到第一条记录            
5.moveToLast():移动到最后一条记录            
6.move(int offset):移动到指定的记录            
7.moveToNext():移动到下一条记录            
8.moveToPrevious():移动到上一条记录            
9.getColumnIndex(String columnName):获得指定列索引的int类型值            

你可能感兴趣的:(android学习,android平台)