删除数据–删

在这里插入图片描述

更改数据–改

在这里插入图片描述

查询数据–查

在这里插入图片描述

下面是源码

DataBaseHelp如下:

//创建数据库辅助类:创库,创表,更新/升级

public class DataBaseHelp extends SQLiteOpenHelper {

//数据库名称

public static final String DB_NAME = “my_database.db”;

//数据库版本

private static final int DB_VERSION = 1;

//表名

public static final String TABLE_NAME = “table_demo”;

/*context:上下文

*name:要被创建的数据库名称(文件名)

*factory:游标工厂

  • version:数据库版本

  • */

public DataBaseHelp(@Nullable Context context) {

super(context, DB_NAME, null, DB_VERSION);

}

//创建表

@Override

public void onCreate(SQLiteDatabase db) {

//用SQL语句来创建表

String sql = "create table if not exists " + TABLE_NAME + “(_id integer primary key autoincrement,name varchar(20),age integer)”;

//执行语句

db.execSQL(sql);

Log.e(“sql”, "onCreate: " + “表创建成功”);

}

//用于更新数据库

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

//当当前版本和老版本不一样的时候

if (newVers
ion != oldVersion) {

}

}

}

DataBaseActivity如下:

public class DataBaseActivity extends AppCompatActivity {

private DataBaseHelp helper;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_data_base);

//初始化辅助类

helper = new DataBaseHelp(this);

}

//创建数据库

public void btncreate(View view) {

//getWritableDatabase()打开数据库

SQLiteDatabase db = helper.getWritableDatabase();

//当数据库不用时关闭数据库(为了防止博主Demo出错。。。。。)

db.close();

}

//添加数据

public void btninsert(View view) {

SQLiteDatabase db = helper.getWritableDatabase();

//Android为了方便程序员SQL开发,提供了一个贼好的API: ContentValues(添加数据交给它)

ContentValues values = new ContentValues();

//放值

values.put(“name”, “张三”);

values.put(“age”, 18);

db.insert(DataBaseHelp.TABLE_NAME, null, values);

values.put(“name”, “李四”);

values.put(“age”, 19);

db.insert(DataBaseHelp.TABLE_NAME, null, values);

values.put(“name”, “王五”);

values.put(“age”, 20);

db.insert(DataBaseHelp.TABLE_NAME, null, values);

//关闭数据库

db.close();

}

//删除数据

public void btndelete(View view) {

SQLiteDatabase db = helper.getWritableDatabase();

/*table :表名

  • whereClause:满足删除条件 格式:例子: “name=?”

  • whereArgs:满足删除的条件*/

db.delete(DataBaseHelp.TABLE_NAME, “name=?”, new String[]{“张三”});

//关闭数据库

db.close();

}

//修改数据

public void btnupdate(View view) {

SQLiteDatabase db = helper.getWritableDatabase();

ContentValues values = new ContentValues();

values.put(“name”, “BoRe”);

values.put(“age”, 7);

/*

  • table:表名

  • values:更新的数据

  • whereClaues:更新条件 格式:例子: “name=?”

  • whereArgs:满足更新的条件*/

db.update(DataBaseHelp.TABLE_NAME, values, “name=?”, new String[]{“李四”});

//关闭数据库

db.close();

}

//查找数据

public void btnselect(View view) {

SQLiteDatabase db = helper.getWritableDatabase();

/*

*table :表名

  • colums:被查询的列(字段)

  • selection :查询条件

  • selectionArgs:满足查询条件

  • group:指定分组

  • having:分组筛选数据的关键字

  • orderby:排序*/

Cursor cursor = db.query(DataBaseHelp.TABLE_NAME, new String[]{“name”, “age”}, null, null, null, null, null);

//数据拿到了,已经在cursor游标中,现在要遍历游标

//先拿到我们关心的列的索引

int nameIndex = cursor.getColumnIndex(“name”);

int ageIndex = cursor.getColumnIndex(“age”);

while (cursor.moveToNext()) {

//通过列的索引去获取单个格子的值

String name = cursor.getString(nameIndex);

int age = cursor.getInt(ageIndex);

Log.e(“Select”, "btnselect: " + name + age);

}

//关闭数据库

db.close();

}

}

xml文件如下:

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

[外链图片转存中…(img-l0SBqwmo-1718992056672)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

[外链图片转存中…(img-l0SBqwmo-1718992056672)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐