Android数据存储——SQLite

             SQLite支持的数据类型:(5种)

                        NULL(空),INTEGER(整型),REAL(浮点型),TEXT(字符串),BLOB(二进制对象)

            当数据插入到数据库时,如果数据类型与上述5中类型不匹配,SQLite会根据数据类型自动判断并进行转换

            SQLite没有用户的概念,根据文件系统的权限确定数据库的权限 

            Android中SQLite的使用步骤:

                         1.创建并打开数据库

                         SQLiteDatabase  dataBase = openOrCreateDatabase(name,mode,cursorfactory);//如果没有数据库,创建并打开,如果有数据库,直接打开

                         2.执行SQL语句

                                    dataBase.execSQL("create table if not exists usertable(_id interger primary key autoincreatment,name text not null,age interger not null)");

                                    //创建表,主键为_id方便使用适配器

                                    dataBase.execSQL("insert int usertable(name,age) values ('emmy',25)");//插入数据

                                    Cursor cursor = dataBase.rawQuery("select * from usertable",condition);//查询,condtion 为条件,返回cursor游标

                                    cursor.getInt(cursor.getColumnIndex("_id"));//取得第一条数据的_id的值,可以通过moveToNext()来让游标后移

                                    ...

                                   cursor.close();//当游标中数据量较大时需要及时释放内存

            通过内置函数操作数据库:

                                    ContentValues values = new ContentVaules();//和hashMap类似

                                     values.put("name","lucy");//key 必须和表字段相同

                                    dataBase.insert(tablename,默认值,values); //插入到数据库,返回一个long的行数

                                     values.clear();// 清空contentvalues可以再次使用       

                                     values.put("name","xu");

                                    dataBase.update(tablename,values,"_id>?",new String[]{"3"});//将id>3的name修改为xu,delete和update相似              

            SQLite帮助类SQLiteOpenHelper:

                                    建立继承SQLiteOpenHelper的一个类,并重写onCreate()和onUpgrade()方法

                                    onCreate(SQLiteDatabase db)              //创建数据可时调用,若数据库已存在,不调用,一般建库是建表写在里面

                                    onUpgrade(db,oldVersion,newVersion)          //版本更新时调用  一般更新和备份数据库写在里面

                                    getReadableDatabase()                          //创建或打开一个只读数据库

                                    getWritableDatabase()                 //创建或打开一个读写数据可

             

           SQLiteDataBase常用方法总结:

                                   db.execSQL(sql); //执行任何sql语句

                                   db.insert(table,nullColumHack,values);

                                   db.delete(table,whereClause,whereArg);

                                   db.update(table,values,whereClause,whereArgs);

                                   db.query(table,columns,selection,selectionArgs,groupBy,having,orderBy);

                                   db.rawQuery(sql,selectionArgs);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值