Android中SQLite使用方法

1.SQLite介绍

要操作SQLite必须先有SQLiteOpenHelper的类的对象,SQLiteOpenHelper是SQLiteDatabase的一个帮助类,用来管理数据库的创建和版本的更新,它是一个抽象类,我们必须写自己写一个类来继承它的onCreate和onUpgrade方法。


2.SQLiteOpenHelper的使用方法

     SQLiteOpenHelper(Context context,String name,SQLiteDatabase.CursorFactory factory,int version)

          构造方法,一般是传递一个要创建的数据库名称及参数

     onCreate(SQLiteDatabase db)

          创建数据库时调用,在第一次创建数据库时执行,实际上是第一次得到SQLiteDatabase的对象时

     onUpgrade(SQLiteDatabase db,int oldVersion , int newVersion)

         版本更新时调用

    getReadableDatabase()

         创建或打开一个只读数据库

    getWritableDatabase()

        创建或打开一个读写数据库


3.数据库的创建与增、删、改、查

     数据库的创建:

            通过调用SQLiteOpenHelper类的getReadableDatabase()方法来实现创建一个数据库


     数据添加:

           (1)使用insert方法

                (long) insert(String table,String nullColumnHack,ContentValues values)

                 table:要插入数据的表的名称

                nullColumnHack:当values参数为空或者里面没有内容的时候,我们insert是会失败的

                 (底层数据库不允许 插入一个空行),为了防止这种情况,我们要在这里指定一个列名,

                   到时候如果发现将要插入的行为空行时,就会将你指定的这个列名的值设为null,然后

                   再向数据库中插入。

                values:待插入的数据

                return:新插入一行的行ID,或者一个错误;


                ContentValues cv = new ContentValues();

                cv.put("列名" , "内容'');

                db.insert("表名", null, cv);


         (2)使用execSQL方式来实现

               db.execSQL("insert into 表名(列名1,列名2)  values(内容1,内容2); ");


      数据删除:

         (1)使用delete方法

               (int) delete(String table,String whereClause,String[] whereArgs)      

                         table:删除的表的名字;

               whereClause:删除的条件

               whereArgs:删除条件的参数:

               return:受whereClause影响所删除的列,若删除所有的行,则返回1,反之返回0;

               

               String whereClause = "列名";

               String[] whereArgs = {"内容"};

               db.delete("表名",whereClausewhereArgs);


         (2)使用execSQL方式来实现

               db.execSQL("delect from 表名 where 列名='内容'; ");


     数据修改:

       (1)使用update方法  

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

              table:修改的表的名字

               values:待修改的数据

               whereClause:删除的条件

               whereArgs:删除条件的参数:

               return:受影响的行数

              ContentValues cv = newContentValues();

               cv.put("待修改的列名","修改后的内容");

              String whereClause = "列名=?";

               String[] whereArgs = {"内容"};

               cv. update(表名, cv, whereClause, whereArgs);


       2)使用execSQL方式来实现


 

    数据查询 

          通过query实现查询的

         public Cursor query(String table, String[] columns, String selection, String[] selectionArgs,

              String groupBy,  String having, String orderBy, String limit)

         table:表名称
         colums:列名称数组
         selection:条件子句,相当于where
         selectionArgs:条件语句的参数数组
         groupBy:分组
         having:分组条件
         orderBy:排序类
         limit:分页查询的限制
        Cursor:返回值

      

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值