继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

SQLite数据库学习笔记

小诺2
关注TA
已关注
手记 3
粉丝 1
获赞 38

1.SQLite是一个嵌入式的数据库引擎,适用于资源有限的设备,
2.SQLiteDatabase介绍
代表一个数据库,可通过它的对象来管理和操作数据库。
创建数据库的方法有很多,有Acticvity提供的方法,SQLiteDatabase提供的方法,
Activity提供的方法有:#openOrCreateDatabase(name,mode,factory),# openOrCreateDatabase(name,mode,factory,errorHandler),参数对应的是数据库的名字,模式,返回Cursor的工厂,一般我们这样openOrCreateDatabase("sql01.db",MODE_PRIVATE,null);使用就行了。
SQLiteDatabase的静态方法:与Activity提供的方法类似,多了个#openDatabase()方法用来打开数据库。
*如果对SQL语句了解的话可以用可以调用SQLiteDatabase对象的#execSQL(String sql),#execSQL(String sql, Object[] bindArgs)来执行相应SQL语句。

  *不了解的可以用SQLiteDatabase的方法来执行,
         #delete(String table, String whereClause, String[] whereArgs)

例子: database.delete("stu", "name like ?", new String[]{"_三"});

insert(String table, String nullColumnHack, ContentValues values)

例子: ContentValues value = new ContentValues();
value.put("name", "李梅");
value.put("age", 24);
database.insert("stu", null, value);

update(String table, ContentValues values, String whereClause, String[] whereArgs)

例子: value.clear();
value.put("age",50);
database.update("stu",value,"_id>?",new String[]{"0"});

查的方法比较多,#rawQuery(String sql, String[] selectionArgs),#query(boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)等。
*查询返回的是Cursor对象。
         #moveToNext()判断是否有下一行
         #可通过getString(int columnIndex)等获得数据。
         #getColumnIndex(String columnName)给出列的名字,返回对应数据库列下标。

3.SQLiteOpenHelper是管理数据库的工具类,用于管理数据库的创建和版本更新
用法是继承SQLiteOpenHelper,并扩展onCreate(SQLiteDatabase db),nUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)的方法,
nUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)用于升级软件时更新数据库表结构,在版本发生变化时回调,
onCreate(SQLiteDatabase db),用于初次作用软件时生成数据库表。
在主类中使用,
MyOpenHelp myOpenHelp = new MyOpenHelp(this,"sql02",1);
// SQLiteDatabase database1 = myOpenHelp.getReadableDatabase();
SQLiteDatabase database2 = myOpenHelp.getWritableDatabase();
有两种得到SQLiteDatabase实体,一个是只读,一个是只写,得到SQLiteDatabase实体后就可以操作数据库了。

打开App,阅读手记
4人推荐
发表评论
随时随地看视频慕课网APP