增加表
刪除表修改表
(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方法會在資料庫需要公升級的時候呼叫。可以用來增刪表或者其他任何操作。如果你想新增新的列你可以使用...