一、SQLITE数据库字段类型
NULL: 表示一个NULL值
INTEGER: 用来存储一个整数,根据大小可以使用1,2,3,4,6,8位来存储.
REAL: IEEE 浮点数
TEXT: 按照字符串来存储
BLOB: 按照二进制值存储,不做任何改变.
id自增长字段:id integer primary key autoincrement
二、SQLITE的CRUD操作
-
insert操作
ContentValues values = new ContentValues();
values.put( " name " , person.getName());
database.insert( " person " , null , values); -
update操作
ContentValues values = new ContentValues();
values.put( " name " , person.getName());
database.update( " person " , values, " personid=? " , new String[]{String.valueOf(person.getPersonId())}); -
select操作
Cursor cursor = database.query( " person " , null , null , null , null , null , null , offerset + " , " + maxResult);
while (cursor.moveToNext()){
int personIda = cursor.getInt(cursor.getColumnIndex( " personid " ));
String name = cursor.getString(cursor.getColumnIndex( " name " ));
Person person = new Person(personIda,name);
persons.add(person);
} - delete操作
database.delete( " person " , " personid=? " , new String[]{String.valueOf(personId)});
三、数据库版本问题
为防止应用的数据库版本变更,每次发布的应用都应指定相应的数据库版本;
如果数据库结构有变动,那么针对版本的变更进行相关升级操作
四、数据库事务操作
database.beginTransaction();//开启事务
database.setTransactionSuccessful();//当操作成功的时候把事务状态改为成功状态
database.endTransaction();//提交事务 会根据事务的状态来提交事务还是回滚事务