SQLite3 数据库升级

前端之家收集整理的这篇文章主要介绍了SQLite3 数据库升级前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在当前数据库中创建表
 create table person(id integer,name Text);


插入两条数据
insert into person values(1,"zhangsan");
insert into person values(2,"lisi");


查看当前的数据库内容
select * from person;


1|zhangsan
2|lisi


一、给表添加新列



添加一列 sex
 alter table person add column sex Text default 'male';

再次查询
1|zhangsan|male
2|lisi|male
多了一列 sex 其默认值是 male


二、删除表中的某列


现在想删除刚才添加的列 sex
alter table person drop column sex;

你会得到这样的错误
Error: near "drop": Syntax error
sqlite 不支持该项操作。


如果在数据库升级中,需要删除原有的列,怎么办?
step1. 创建新表
create table new_person(id integer,name text);

step2. 复制原有表中的数据
insert into new_person select id,name from person;

step3. 删除原来的表
drop table person;


再次查询表 new_person
1|zhangsan
2|lisi

这样就模拟了删除列的操作。

还有这样一种情况,原有表中的字段少于即将升级数据库表字段。
person(原来的旧表):只有字段 id、name
new_person(升级的表):有三个字段 id、name、sex(升级的目的就是想多加该列)


可以这样做
insert into new_person select id,name,'female' from person;

其中,'female' 是 sex 列的默认值。

原文链接:https://www.f2er.com/sqlite/201153.html

猜你在找的Sqlite相关文章