基於Android SQLite的公升級詳解

2021-07-03 17:52:47 字數 1175 閱讀 8854

做android應用,不可避免的會與sqlite打交道。隨著應用的不斷公升級,原有的資料庫結構可能已經不再適應新的功能,這時候,就需要對sqlite資料庫的結構進行公升級了。

sqlite提供了alter table命令,允許使用者重新命名或新增新的字段到已有表中,但是不能從表中刪除字段。

並且只能在表的末尾新增字段,比如,為 subscription新增兩個字段:

複製**

**如下:

alter table subscription add column activation blob;

alter table subscription add column key blob;

另外,如果遇到複雜的修改操作,比如在修改的同時,需要進行資料的轉移,那麼可以採取在乙個事務中執行如下語句來實現修改表的需求。

1. 將表名改為臨時表

複製**

**如下:

alter table subscription rename to __temp__subscription;

2. 建立新錶

複製**

**如下:

create table subscription (orderid varchar(32) primary key ,username varchar(32) not null ,productid varchar(16) not null);

3. 匯入資料

複製**

**如下:

insert into subscription select orderid, 「」, productid from __temp__subscription; 或者

複製**

**如下:

insert into subscription() select orderid, 「」, productid from __temp__subscription;

* 注意 雙引號」」 是用來補充原來不存在的資料的

4. 刪除臨時表

複製**

**如下:

drop table __temp__subscription;

通過以上四個步驟,就可以完成舊資料庫結構向新資料庫結構的遷移,並且其中還可以保證資料不會應為公升級而流失。

當然,如果遇到減少欄位的情況,也可以通過建立臨時表的方式來實現。

android sqlite基本操作

package com.xiangqiao.sqlite3 import android.content.contentvalues import android.database.cursor import android.database.sqlite.sqlitedatabase import...

關於Android SQLite詳細

一 sqlite簡介 在android平台上,整合了乙個嵌入式關係型資料庫 sqlite,sqlite3支援 null integer real 浮點數字 text 字串文字 和blob 二進位制物件 資料型別,雖然它支援的型別雖然只有五種,但實際上sqlite3也接受varchar n char ...

Android SQlite效能優化

dec 13th,2015 資料庫是應用開發中常用的技術,在android應用中也不例外。android預設使用了sqlite資料庫,在應用程式開發中,我們使用最多的無外乎增刪改查。縱使操作簡單,也有可能出現查詢資料緩慢,插入資料耗時等情況,如果出現了這種問題,我們就需要考慮對資料庫操作進行優化了。...