SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。
它设计目标是嵌入式,力求占用资源较低,处理速度较快;它支持Windows/Linux/Unix等等主流的操作系统,同时也支持很多语言(Java,php,.Net等)。
总的来说,SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。
sqlite实现流程:建数据库,实例化数据库,执行增删改查。
getWritableDatabase():得到一个可写的数据库
getReadbleDatabase():得到一个只可读的数据库
execSQL():执行增删改语句,参数一(sql语句)参数二(为条件中的?赋值)
rawQuery():执行查询语句,参数一(sql语句)参数二(为条件中的?赋值),返回cursor游标,遍历游标获取数据
moveToNext():游标向下移动一行
getCulumnIndex():根据字段名称获得字段的下标
close():关闭游标,防止内存泄漏
SQLite:使用方法执行增删改查:
添加:
public void insert(View view) {
// sqLiteDatabase.execSQL("insert into student values (?,?,?)",new String[]{null,"邓紫棋","21"});
// sqLiteDatabase.execSQL("insert into student values (?,?,?)",new String[]{null,"蔡徐坤","22"});
ContentValues contentValues = new ContentValues();
contentValues.put("name","周杰伦");
contentValues.put("age",30);
sqLiteDatabase.insert("student",null,contentValues);
}
删除:
public void delete1(View view) {
sqLiteDatabase.execSQL("delete from student");
}
public void delete(View view) {
// sqLiteDatabase.execSQL("delete from student where name=?",new String[]{"蔡徐坤"});
sqLiteDatabase.delete("student","age=?",new String[]{"30"});
}
修改:
public void update(View view) {
// sqLiteDatabase.execSQL("update student set name = ? where age = ?",new String[]{"鸡哥","21"});
ContentValues contentValues = new ContentValues();
contentValues.put("name","郁金香");
sqLiteDatabase.update("student",contentValues,"name=?",new String[]{"周杰伦"});
}
查找:
public void select(View view) {
// Cursor cursor = sqLiteDatabase.rawQuery("select * from student",null);
Cursor cursor = sqLiteDatabase.query("student",null,null,null,null,null,null);
if (cursor!=null){
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String age = cursor.getString(cursor.getColumnIndex("age"));
Log.i("---select",id+" "+name+" "+age);
}
cursor.close();
}
}
事务:
public void trasldata(View view) {
sqLiteDatabase.beginTransaction();
for (int i=0;i<20;i++){
ContentValues contentValues = new ContentValues();
contentValues.put("name","桃花"+i);
contentValues.put("age","11"+i);
sqLiteDatabase.insert("student",null,contentValues);
}
sqLiteDatabase.setTransactionSuccessful();
sqLiteDatabase.endTransaction();
}
SQLite是一个轻型的数据库系统,常用于Android应用中实现数据存储。通过getWritableDatabase()和getReadableDatabase()获取数据库,用execSQL()和rawQuery()执行SQL命令进行数据的增删改查。ContentValues用于方便地构造更新数据。事务处理则通过beginTransaction()、setTransactionSuccessful()和endTransaction()来确保数据一致性。
2479

被折叠的 条评论
为什么被折叠?



