文件存储之SQLite数据库存储

本文介绍了SQLite数据库在Android应用中的使用,强调其轻量级和嵌入式特性。通过继承SQLiteOpenHelper,实现创建和升级数据库的方法。数据库操作包括插入、查询、修改和删除,详细讲解了各个操作的实现方式,例如使用execSQL和insert方法进行数据插入,以及query方法进行数据查询。
摘要由CSDN通过智能技术生成

参考链接

http://blog.csdn.net/liuhe688/article/details/6715983



学习SQLite数据库之前,先去学习数据库中的增删改查语句,以前用工具创建表,表字段,那么请重新学习SQLite,它是和数据库操作差不多,不过它轻量级的,很多事情是做不了的。下面事几个简单的语句:

create table user(id INTEGER primary key autoincrement,username char(20),userpwd char(20));
select * from user where id = 2;
update user set username = 'ice' where id = 2;
insert into(username,userpwd) values('li','123456');
delete from user where id = 2;

上面事一些基本的语句,需要详细了解的,可以去网络上查找相关知识。

接下来介绍一些如何操作数据库呢?

第一点,SQLite嵌入式的,轻量级的数据库,它已经放在了android手机上,并不是像后台需要去链接数据库。SQLite将存储的信息放入到指定的路径下data/<项目文件夹>/databases/。

像要使用SQLite,那么就需要去继承SQLiteOpenHelper,它来执行创建,增删改查相关的操作。继承SQLiteOpenHelper后,必须要实现两个方法,和实现一个构造函数。两个方法分别事onCreate(SQLiteDatabase db) 和 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 。一个事创建表,一个是用来升级数据库的。

构造函数中,需要去些指出数据库名和数据库版本。

public class DBOpenHelper extends SQLiteOpenHelper{

    private static final String DATABASENAME = "test.db"; //数据库名称
    private static final int DATABASEVERSION = 2;//数据库版本,大于0

    //数据库的创建
    public DBOpenHelper(Context context) {
        super(context, DATABASENAME, null, DATABASEVERSION);
    }

    //创建表
    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "create table user(id INTEGER primary key autoincrement,username char(20),userpwd char(20))";
        db.execSQL(sql);

    }

    //数据库的升级
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        String sql = "DROP TABLE IF EXISTS user";
        db.execSQL(sql);

        onCreate(db);
    }
}
OnCreate()方法只调用一次,onUpgrade(),当数据库版本改变的时候,就会调用。我在代码中在调用时,重新去删除到表后重新执行onCreate(db)。可以像到,为了获取db(db是用来操作数据库的),需要去创建一次,这样就不用每次创建的时候都去调用构造函数。下面事会实现的。

接下来就是如何操作数据库,操作数据库有两种方式,一种是执行sql语句,还有一个事db来执行,只需要去调用对象的方法,并将参数传过去。

这里将一个类建立起来,并获取到DBOpenHelper。


public class DataHelper {
    private DBOpenHelper mDBOpenHelper;


    private DataHelper(Context context){
        if (mDBOpenHelper == null){
            mDBOpenHelper = new DBOpenHelper(context);
        }
    }
    private static DataHelper mDataHelper;


    public static DataHelper getDataHelper(Context context){
        if (mDataHelper == null){
            mDataHelper = new DataHelper(context);
        }
        return mDataHelper;
    }
}

1.插入

首先事插入。表创建了,如何去创建数据。

execSQL(str);

insert(table,null,values);

第一个是执行sql语句,例如:insert into user(username,userpwd) values(' + "ice“+"','" + "123456"+"')";放入到execSQL参数中。可以执行在函数中些上要执行的语句,其中ice和12345用形参来代替,如insert into

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值