基于Android的SQLite数据库操作

本文介绍了如何在Android中使用SQLiteOpenHelper进行数据库操作,包括创建数据库、实例化SQL对象、添加、查询、修改和删除数据的基本步骤。示例代码详细解释了每个操作的关键点,例如在添加数据时处理空值问题,以及查询数据时的各种参数含义。

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

求赞


功能介绍

本文的增删改查方法都Android自带的SQLiteOpenHelper,虽然直接用sql语句来映射相应的数据库操作比较直观且便于管理,但是学习总是一条漫长的过程。。。。。

相关文章:

Android 开发之 Sqlite数据库操作
Android Cursor(光标)解析
android query方法各个参数的含义

一、创库

引入SQLiteOpenHelper

    class MyHelper extends SQLiteOpenHelper {
   
   
        public MyHelper(Context context) {
   
   
            super(context, "itcast.db", null, 1);
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
   
   
            db.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20),  phone VARCHAR(20))");
        }

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

此时就可以通过MyHelper对象来使用创建的数据库了。

id(主键,自动添加) name phone

二、基本操作

1.实例化sql对象

 MyHelper myHelper;
 SQLiteDatabase db;
 
 //需要的时候才建立连接
 db = myHelper.getWritableDatabase();

 //注意:每次使用过后记得关
 db.close();

2.添加数据

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

table 要插入数据的表的名称
values ContentValues对象,类似一个map通过键值对的形式存储值。

nullColumnHack
当values参数为空或者里面没有内容的时候,insert是会失败的(底层数据库不允许插入一个空行),为了防止这种情况,要在这里指定一个列名,到时候如果发现将要插入的行为空行时,就会将你指定的这个列名的值设为null,然后再向数据库中插入。

若不添加nullColumnHack则sql语句最终的结果将会类似insert into tableName()values();这是不允许的。
若添加上nullColumnHack则sql语句将会变成insert into tableName (nullColumnHack)values(null);这是可以的。

ContentValues values;

values = new ContentValues();        //创建ContentValues对象
values.put("name", name);             //将数据添加到ContentValues对象
values.put("phone", phone);
db.insert("information", null, values);

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遥远不再远

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值