android有关数据库的升级

 软件升级当然会牵扯到数据库的升级,对于一个项目来说,升级数据库最低要求就是保证原始数据的保留

 SQLiteOpenHelper是数据库管理时最方便的助手,其中有两大方法:

//创建数据库,第一次安装时调用

@Override
 public void onCreate(SQLiteDatabase db) {

}

//数据库升级,此功能在程序升级时,如果数据库版本变化时调用

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

}

下面主要说明用于升级的onUpgrade方法里的代码

一、用ALTER TABLE添加新字段

这种方式只适合于往表里加字段(有时删除字段会出现异常),加的字段位于表的末尾

db.execSQL("ALTER TABLE goods ADD vip VARCHAR(32)");

 

二、将“旧的表改为临时表”——>“创建新的表”——>“导入数据”——>“删除临时表”

这种方式相比上面的方法比较麻烦,但是功能强大,可以对数据库准确操作,增加字段(可以再任何地方),删除字段等功能

步骤一:

db.execSQL("ALTER TABLE goods RENAME TO _temp_goods");

步骤二:

db.execSQL("此处添加创建goods 表语句");

步骤三:

db.execSQL("INSERT INTO goods SELECT  goodsId, goodsName, " ",goodsPice  FROM _temp_goods");

             红色的引号表示,给新添字段vip默认值为空字符串

             注意这时导入的数据顺序一定要和你创建的新表的顺序对应,不然会出现导入数据不对

步骤四:

db.execSQL("DROP TABLE IF EXISTS _temp_goods");

 

以上是个人在项目中用到的,分享一下

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值