热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【14】SQLite

一、什么是SQLiteSQLite是Android系统中自带的一个简易高效的数据库,语法与MySql类似,支持事务,安卓系统原生支持不需要额外安装软件即可使用。二、为什么要使用SQ

一、什么是SQLite

SQLite是Android系统中自带的一个简易高效的数据库,语法与MySql类似,支持事务,安卓系统原生支持不需要额外安装软件即可使用。

二、为什么要使用SQLite

对于结构较复杂的数据,File的读写太繁琐,SharePreferences又只支持XML键值对,不好储存复杂结构。此时,就应该使用SQLite来储存数据,

三、如何使用

创建一个学生表

SQLiteDatabase db = openOrCreateDatabase("stu,db",MODE_PRIVATE,null);
db.execSQL("create table if not exists stutb (_id integer primary key autoincrement,name text not null,sex text not null,age integer not null)");

ContentValues values = new ContentValues
values.put("name","张三");
values.put("sex","男");
values.put("age",18);
db.insert("stutb",null,values);//返回增加的ID号

db.delete("stutb","name like ?",new String[]{"%封%"});//返回影响行数

db.update("stutb",values,"age

Cursor c = db.query("stutb",null,"_id>?",new String[]{"0"},null,null,"age");
if(c!=null){
String[] columns = c.getColumnNames();
while(c.moveToNext()){
for(String columnName:columns){
Log.i("info",columnName + " : "+c.getString(c.getColumnIndex(columnName)));
}
}
c.close();
}
db.close();

四、关于SQLiteOpenHelper

SQLiteOpenHelper是一个SQLite的帮助类,可以实现一个自己的SQLite供程序统一访问,可自己定义创建和更新的方法。

创建一个新的类继承SQLiteOpenHelper类,然后实现其方法和构造即可使用。

调用方法

SQLiteOpenHelper helper = new MyDBOpenHelper(this,"stu.db",null,1);//根据构造方法获取helper类
//helper.getReadableDatabase();//只读数据库,只能查询,不能删除和更新,插入
SQLiteDatabase db = helper.getWritableDatabase();//可读可写数据库获取
Cursor c = db.query("stutb",new String[] {"_id"},"name=?",new String[] {"啥的"},null,null,null);
if(c!=null){
String[] cols = c.getColumnNames();
while(c.moveToNext()){
for(String colName:cols){
Log.i("info","值:"+colName + c.getString(c.getColumnIndex(colName)));
}
}
c.close();
}else{
Log.i("info","c的值为:"+c);
}
db.close();

推荐阅读
author-avatar
泽宇的精彩人生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有