3.20-3.21学习内容-SQLite的学习和使用

一、什么是SQLite?

1、SQLite数据库存储Android系统提供的数据存储方式之一;

2、SQLite是专门为嵌入式设备设计的一款轻量级数据库;

3、SQLite占用资源非常低,在嵌入式设备中,只需要几百k的内存;

4、SQLite支持标准的SQL语法,遵循数据库的ACID事务;

5、SQLite不需要安装,不需要用户密码就可以使用。

SQLiteOpenHelper类:

   1、SQLiteOpenHelper是一个数据库辅助类,用来管理数据库的创建和版本,通过继承这个类,实现它的一些方法来对数据库进行一些操作;

  2、SOLiteOpenHelper是一个抽象类,子类需要重写onCreate和onUpdate抽象方法,并添加一个构造方法。

onCreate:

     1.此方法只在第一次的时候执行,只执行一次;

     2.在此方法中使用的SQL语句创建数据表;

    3.onCreate方法有一个SQLiteDatabase对象参数,通过调用execSQL方法进行建表SQL语句;

onUpgrade:

     1.此方法用来升级数据库结构时触发;

    2.当需要增加字段或者增加表时,传递进来一个新的数据库版本号,就会触发此方法;

    3.在此方法中可以重写更新现有数据表结构。

二、如何使用SQLite?

创建数据库和数据表的步骤:

   1、新建类继承SQLiteOpenHeler;

   2、实现构造方法;

   3、重写onCreate方法;

   4、重写onUpgrade方法;

   5、实例化SQLiteOpenHelper的子类对象;

   6、调用getReadableDatabase方法或者getWritableDatabase方法。

三、学生姓名数据的增删改查实例:

1、创建一个新的类,继承SQLiteOpenHelper,实现构造方法,onCreate和onUpgrade方法,新建我们需要用到的学生数据库:

 private String createSQL = "create table student("
            + "id integer primary key  autoincrement not null ,"
            + "name varchar(20) not null,"
            + "age integer  ,"
            + "gender varchar(2) )";

2、在MainActivity中进行增删改查的操作.

 增:

 //增
    private void insert() {
       String name = nameET.getText().toString();
       SQLiteDatabase sqLiteDatabase = dataBaseHelper.getWritableDatabase();
       ContentValues values = new ContentValues();
       values.put("name", name);
       sqLiteDatabase.insert("student",null,values);
       这个"student"为表名
 }
删:
 //删
    private void delete(){
       SQLiteDatabase sqLiteDatabase2 = dataBaseHelper.getWritableDatabase();
        String name1 = nameET.getText().toString();
        sqLiteDatabase2.delete("student","name=?",new String[]{name1});
改:
   //改
    private void change(){
        String name = nameET.getText().toString();
        String newName = gaiET.getText().toString();
        SQLiteDatabase sqLiteDatabase3 = dataBaseHelper.getWritableDatabase();
        ContentValues values1 = new ContentValues();
        values1.put("name",newName);
        sqLiteDatabase3.update("student",values1,"name=?",new String[]{name});这里的第三个参数叫做占位符,在第四个参数可以补充相应的数据和要求
    }
查:
   //查
    private void search(){
       SQLiteDatabase sqLiteDatabase1 = dataBaseHelper.getReadableDatabase();
        Cursor cursor = sqLiteDatabase1.query("student",null,null,null,null,null,null);
        cursor.moveToFirst();
        do {
            String name = cursor.getString(cursor.getColumnIndex("name"));
            Log.e("NAME",name);
        }while (cursor.moveToNext());
              cursor.close();
 }





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值