SQLite的升级
做Android应用,不可避免的会与SQLite打交道。随着应用的不断升级,原有的数据库结构可能已经不再适应新的功能,这时候,就需要对SQLite数据库的结构进行升级了。
SQLite提供了ALTER TABLE命令,允许用户重命名或添加新的字段到已有表中,但是不能从表中删除字段。
并且只能在表的末尾添加字段,比如,为 Subscription添加两个字段:
1 ALTER TABLE Subscription ADD COLUMN Activation BLOB;
2 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升级的demo源代码,相关文章请访问:http://blog.csdn.net/bright789
sqlite的可控式升级方式,方便应用的数据升级
android APP的开发并不是一次就完美,而是通过多次的升级,升级的过程中会遇到修改app的数据库,这是需要将旧版本的app的数据库复制一份,进行操作。
Android 提供了一个名为 SQLiteDatabase 的类,该类封装了一些操作数据库的 API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为 CRUD) 。
NULL 博文链接:https://zhanglimijavaeye.iteye.com/blog/1882603
sqlite的一些基本操作,包括数据库创建、数据库版本升级、创建表、数据的增删改查
SQlite版本升级,介绍了数据库版本如何升级,包括新增表字段,新增表字段并修改原有字段
sqlite的一些基本操作,包括数据库创建、数据库版本升级、创建表、数据的增删改查,android源码0分下载了
http://www.jianshu.com/p/3fef519f3d8e Android数据库Sqlite的基本用法及升级策略
用于sqlite数据库差量升级。支持的升级能力包括 1,新建表、删除表、重命名表 2,新增字段(新增的字段只支持如下约束:default、pk、not null) 3,新建索引、删除索引 不过还不支持有外键约束存在的升级。
sqlite3 ruby安装包
rails升级到2.0.2之后默认使用sqlite3作为数据库. 解压后把sqlite3.def、sqlite3.dll复制到Ruby安装目录bin文件夹下. 版本:sqlitedll-3_6_21
即可从WINDOWS操作系统对LINUX下的SQLITE数据库进行远程操作,管理工具可使用我前面发布的sqlite远程管理工具,使用起来极其方便,解决了LINUX下对SQLITE数据进行管理的烦恼,我对这个软件还会持续升级,如果有需要...
本支持库将只为向后兼容而存在,不会再有版本升级,推荐使用“Sqlite3数据库支持库”。易语言SqliteDB.fne支持库为一般支持库,需要易语言系统3.7版本的支持,需要易语言系统核心支持库3.7版本的支持,提供了10种库...
目前使用的Sqlite版本是3.6.11,只要有可能,将随时跟踪并升级至Sqlite最新版本。数据库内部文本编码为UTF-8。易语言sqlite3_static.lib支持库为静态支持库,需要易系统5.0版本的支持,需要系统核心支持库5.0版本的...
全新的navicat for sqlite 12功能进行了全面优化和升级,比如改进了多项用户界面,简洁的工作环境和重新编排的按钮让用户操作更加便捷;增加了快速编写代码,用户可以创建自订义的常用段。增加了全新的结构同步机制...
用sqlite挺长时间了,几种常用的sqlite管理工具都用过了,不过就觉得这款最好用了,官方升级也比较勤快。 虽然是英文版本的,不过对于程序员来说这点小英文应该都是小CASE了, 也可以到官方去下载:...
sqlite Manager3.9.5 for Mac破解版
NULL 博文链接:https://technicalsearch.iteye.com/blog/2087818
将 sqlite 升级到 3.6.20 0.7 版 (10.18.2009) 的变化 用protobuf的wire格式替换json提高性能 0.6 版的变化 (07.11.2009) 添加了 Python 客户端 api 新增移除功能 0.5 版 (07.04.2009) 的变化 添加了 C++/java ...