SQLite数据库升级
来源:互联网 发布:网络跳线和网线的区别 编辑:程序博客网 时间:2024/05/24 06:54
一、数据库升级,主要有以下这几种情况:
- 增加表
- 删除表
- 修改表
(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_sequenceUPDATE sqlite_sequence SET seq = 3 WHERE name = student;// 由于在SQLite中使用自增长字段,引擎会自动产生一个sqlite_sequence表,// 用于记录每个表的自增长字段的已使用的最大值,所以要一起更新下。// 如果有没有设置自增长,则跳过此步骤。// 删除临时表(可选)DROP TABLE student_temp;
四、增加表、删除表、增加表的字段、更改表名字
这几种情况参考:Android SQLite数据库版本升级原理解析
阅读全文
0 0
- sqlite 数据库升级
- 5、Sqlite数据库升级
- Android SQLite数据库升级
- Android SQLite升级数据库
- Sqlite数据库升级
- Sqlite数据库升级方法
- 升级SQLite数据库
- SQLite如何升级数据库
- SQlite数据库升级
- Android Sqlite 数据库升级
- SQLite数据库升级
- SQLite数据库升级
- IOS sqlite数据库升级操作
- sqlite数据库修改及升级
- Android sqlite数据库升级解决方案
- 升级SQLite数据库最佳写法
- android中sqlite数据库升级
- sqlite数据库自动升级设计
- windows下面配置apache+https
- 反射和动态代理的实现原理
- Python小程序,看你是否偏重
- 访问一个网站涉及的网络协议简单总结
- 3D模型文件--STL,OBJ,3DS
- SQLite数据库升级
- windows+sublime text3+MINGW编译运行c
- oracle数据库常用语句汇总2(修改)
- jpa 使用entitymanager查询表并返回List<Map<Column,Value>>
- not in 两个列表
- HDU-1711
- MyBatis文档观后整理
- 欢迎使用CSDN-markdown编辑器
- 在Ubuntu16.04安装torch7笔记