SQLite資料庫公升級

2021-08-08 11:38:08 字數 1319 閱讀 7235

增加表

刪除表修改表

(1) 更改表名字

(2) 增加表字段

(3) 刪除表字段、更改乙個已經存在欄位的名稱、資料型別等等

1、刪除乙個已經存在的字段,或者更改乙個已經存在欄位的名稱、資料型別等等

2、增加表、刪除表、增加表字段、修改表名字

問題不大,因為它們都沒有涉及到資料的遷移問題,增加表只是在原來的基礎上crtate table,而刪除表就是對歷史資料不需要了,那只要drop table即可。那麼修改表呢?

1、 sqlite 僅僅支援 alter table 語句的一部分功能,我們可以用 alter table 語句來更改乙個表的名字,也可向表中增加乙個字段(列)

alter

table 舊表名 rename to 新錶名 // 改變表名

alter

table 表名 add

column 列名 資料型別 // 增加一列

2、 但是我們不能刪除乙個已經存在的字段,或者更改乙個已經存在欄位的名稱、資料型別等等

這時候只能使用複製表思想了,具體步驟如下:

// 將表名改為臨時表

alter

table student rename to student_temp;

// 建立新錶

create

table student (

id integer

primary

key autoincrement,

name text);

// 匯入資料

insert

into student (id, name) select id, title from student_temp;

// 更新sqlite_sequence

update sqlite_sequence set seq = 3

where name = student;

// 由於在sqlite中使用自增長字段,引擎會自動產生乙個sqlite_sequence表,

// 用於記錄每個表的自增長欄位的已使用的最大值,所以要一起更新下。

// 如果有沒有設定自增長,則跳過此步驟。

// 刪除臨時表(可選)

drop

table student_temp;

這幾種情況參考:android sqlite資料庫版本公升級原理解析

SQLite資料庫的公升級

sqlite資料庫的公升級 做android應用,不可避免的會與sqlite打交道。隨著應用的不斷公升級,原有的資料庫結構可能已經不再適應新的功能,這時候,就需要對sqlite資料庫的結構進行公升級了。sqlite提供了alter table命令,允許使用者重新命名或新增新的字段到已有表中,但是不能...

sqlite資料庫改動及公升級

今天是上班的第二天。聽說我近期的任務就是改bug。唉,權當學習了,遇到的一些問題都記錄下來。sqlite資料庫是android中很經常使用的資料庫。今天幫別人改bug,遇到一些問題記錄下來。1.改動資料庫表的結構要通過資料庫公升級來實現,資料庫會自己主動執行sqliteopenhelper的繼承類中...

android之SQLite之資料庫公升級

public abstract void onupgrade sqlitedatabase db,int oldversion,int new version 這個方法在實現時需要重寫。onupgrade方法會在資料庫需要公升級的時候呼叫。可以用來增刪表或者其他任何操作。如果你想新增新的列你可以使用...