学习自
https://blog.csdn.net/jie1991liu/article/details/50339797
增加一个表、删除一个表是小事
给表增加一个字段,删除一个字段就有点难受了
数据库降级
增加一个字段
ALTER TABLE xxxx ADD COLUMN yyyy text
意思就是修改一个表,使他增加一个数据类型为文本的一列
这样我们就不会损害用户原来的数据了
(ALTER在SQLite中可以:1.增加一个字段到末尾2.修改表名,不可以删除一个字段)
删除一个字段
db.beginTransaction();
try {
db.execSQL("CREATE TEMPORARY TABLE xxx (a, b);");
db.execSQL("INSERT INTO xxx SELECT a, b FROM yyy;");
db.execSQL("DROP TABLE yyy;");
db.execSQL("CREATE TABLE pedant(a text, b text);");
db.execSQL("INSERT INTO yyy SELECT a, b FROM xxx;");
db.execSQL("DROP TABLE xxx;");
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
意思就是把原来的表内的数据都转移到一个临时表内
以上是数据库升级。我们一般会继续进行数据库的升级而不是降级,如果降级最好是删除所有表然后重构。