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