Android数据库的使用(增删改查)
小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。[外链图片转存中…(img-l0SBqwmo-1718992056672)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的
删除数据–删
更改数据–改
查询数据–查
下面是源码
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行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
资料⬅专栏获取
更多推荐
所有评论(0)