android---sqlite数据库的基本使用,增删查改

博客介绍了使用SQLiteOpenHelper进行数据库操作。创建继承SQLiteOpenHelper的类,通过getReadableDatabase()和getWriteableDatabase()获取数据库操作对象,可实现增删查改(CRUD)操作,还提及数据库升级方法,包括先删除再创建等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建一个类 SQLiteOpenhelper 

//context 上下文对象

//name 数据库名

//factory 返回一个自定义的 Cursor 一般为null

// version 

SQLiteOpenHelper

getReadableDatabase()

getWriteableDatabase()

返回一个可以对数据库进行读写操作的对象

CRUD

Create Retrieve Update Delete 增删查改

创建一个类继承SQLiteOpenhelper

ublic class MyDatabase extends SQLiteOpenHelper {
    public MyDatabase( Context context) {
        super(context, "User.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
            db.execSQL("create table UserInfo(id integer  primary key autoincrement,author text,price double,pages integer,name text)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    String sql ="";
    db.execSQL("drop table UserInfo");
    }
}

 获取数据库编辑对象

  MyDatabase database = new MyDatabase(this);
        SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();

数据库升级,先删除再创建


public class MyDatabase extends SQLiteOpenHelper {
    public MyDatabase(Context context) {
        super(context, "User.db", null, 2);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table UserInfo(id integer  primary key autoincrement,author text,price double,pages integer,name text)");
        db.execSQL("create table info(id integer primary key autoincrement,name text,pwd text)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("drop table if exists UserInfo");
        onCreate(db);
    }
}

添加多条数据

  MyDatabase database = new MyDatabase(this);
        SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("name","the Da Vinci Code");
        values.put("author","Dan Brown");
        values.put("pages","454");
        values.put("price",15.64);
        sqLiteDatabase.insert("UserInfo","id",values);
        values.clear();
        //插入第二条数据
        values.put("name","平方世界");
        values.put("author","李敖");
        values.put("pages","754");
        values.put("price",56.64);
        sqLiteDatabase.insert("UserInfo","id",values);
        sqLiteDatabase.close();

修改一条数据

 MyDatabase database = new MyDatabase(this);
        SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("name", "yifei");
        values.put("pages", 300);
        values.put("price", 32.1);
        values.put("author", "郭敬明");
        sqLiteDatabase.update("UserInfo", values, " id = 1", null);
        sqLiteDatabase.close();

删除一条数据

  MyDatabase database = new MyDatabase(this);
        SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
       sqLiteDatabase.delete("UserInfo","id = 2",null);
       sqLiteDatabase.close();

查询数据

MyDatabase database = new MyDatabase(this);
        SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
        Cursor cursor = sqLiteDatabase.query("UserInfo", null, null, null, null, null, null);
        if (cursor!=null){
            while (cursor.moveToNext()){
               String name = cursor.getString(cursor.getColumnIndex("name"));
               int pages =cursor.getInt(cursor.getColumnIndex("pages"));
               String author = cursor.getString(cursor.getColumnIndex("author"));
               float price = cursor.getFloat(cursor.getColumnIndex("price"));
                Log.d("MainActivity12", "onCreate: "+name+"-->"+pages+"-->"+author+"-->"+price);

            }
        }
        sqLiteDatabase.close();

查询指定列数

 MyDatabase database = new MyDatabase(this);
        SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
        Cursor cursor1 = sqLiteDatabase.query("UserInfo",new String[]{"name","pages"},"id =?",new String[]{"1"},null,null,null);
        if (cursor1!=null){
            while (cursor1.moveToNext()){
                String name = cursor1.getString(cursor1.getColumnIndex("name"));
                int pages =cursor1.getInt(cursor1.getColumnIndex("pages"));
                Log.d("MainActivity12", "onCreate: "+name+"-->"+pages);

            }
        }
        sqLiteDatabase.close();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值