1.sqlite概述
sqlite是一款轻量级的关系型数据库,由于它占用的资源非常少,所以在很多嵌入式设备都是用sqlite来存储数据。Android作为目前主流的移动操作系统,完全符合sqlite占用资源少的优势,故在Android平台上,集成了一个嵌入式关系型数据库sqlite。
继承sqliteOpenHelper类,同时覆盖onCreate(sqliteDatabase),onUpgrade(sqliteDatabase,int,int)和定义构造函数,使用该类实例对象的getReadableDatabase()或者getWritableDatabase()得到当前数据库的实例化对象,可直接对其进行操作
2.sqlite实现增删改查
- //数据库的基本操作,增删改查
- @Override
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- DbOpenHelperdbOpenHelper=newDbOpenHelper(this,"mytest.db",1);
- sqliteDatabasedb=dbOpenHelper.getWritableDatabase();
- //////////////////////////////////////////////////////////
- db.execsql("insertintouser(name,age)values(?,?)",newObject[]{"zhang",0)">10});//1.1增
- db.execsql("deletefromuserwhere_id=?",153); font-weight:bold">newString[]{"1"});//1.2删
- db.execsql("updateusersetname=?where_id=?",153); font-weight:bold">newString[]{"haha","2"});//1.3改
- Cursorcursor=db.rawQuery("select*fromuserwhereage>=?",0)">//1.4查
- while(cursor.moveToNext()){
- Toast.makeText(1),Toast.LENGTH_SHORT).show();
- }
- ContentValuesvalues=newContentValues();//2.1增
- values.put("name","John");
- values.put("age",0)">20);
- db.insert("user",//表格名
- "name",0)">//StringnullColumnHack
- //sql不允许插入一个空行,当values的值为空时,将相当于执行于
- //insertintoage(name)values("null");
- values);//插入值,相当于一个键值对的集合
- db.delete("user","age>=?andage<=?",153); font-weight:bold">newString[]{"12","18"});//2.2删
- ContentValuesvalues1=//2.3改
- "liu");
- db.update("user",values1,"_id=?",153); font-weight:bold">newString[]{"8"});
- Cursorcursor1=db.query("user",0)">//表格名//2.4查
- null,0)">//String[]columns如果为空,则返回所有列
- "age>=?",0)">//Stringselection查询条件
- newString[]{"15"},0)">//String[]selectionArgs查询参数
- //StringgroupBy
- //Stringhaving
- null);//StringorderBy
- while(cursor.moveToNext()){
- intid=cursor1.getInt(cursor1.getColumnIndex("_id"));
- "name")),255)">}