«

Android之SQLite

时间:2024-3-2 17:52     作者:韩俊     分类: Android


SQLite支持大部分标准的SQL。
SQLite是无类型数据数据库(类似JavaScript),除主键外无数据类型也无数据长度(主键只能为int),不过建议在声明字段时最好写上数据类型和长度,符合SQL规范才能通用。
SQL分页语句和MySQL一样:select * from tableName limit pageSize offset beginIndex或select * from tableName limit beginIndex,pageSize。
获取表中最后一行数据的id:select last_insert_rowid()。

android中使用SQLite不需要使用JDBC创建连接,SQLiteDatabase类内部会自己创建。

Android中创建SQLite数据库:

public class DBOpenHelper extends SQLiteOpenHelper {

    public static SQLiteDatabase createDB(Context context) {
        DBOpenHelper openHelper = new DBOpenHelper(context);
        return openHelper.getWritableDatabase();// 第一次调用此方法或getReadableDatabase方法会创建数据库
    }

    public DBOpenHelper(Context context) {
        // 数据库文件保存在'/data/data/appName/appPackageName/databases/'目录中
        super(context, "test.db",// 数据库文件名
                null,// 是用默认游标工厂
                1// 版本号不能小于1,小于1会抛异常,一般初始版本从1开始
        );
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // 数据库创建时被触发,此方法内一般用于创建表等
        db.execSQL("create table person(person_id integer primary key autoincrement,name verchar(20),age integer)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 数据库版本号更新时被触发,此方法一般操作数据库版本升级,如删除旧表,创建新表,修改表等
        db.execSQL("alter table person add sex verchar(2)");
    }
}

标签: android

热门推荐