Sqlite删除列方法

sqlite中是不支持删除列操作的,所以网上alter table table_name drop column col_name这个语句在sqlite中是无效的,而替代的方法可以如下:
1.根据原表创建一张新表
2.删除原表
3.将新表重名为旧表的名称
示例例子如下
1.创建一张旧表Student,包含id(主码),name, tel
create table student (
id integer primary key,
name text,
tel text
)
2.给旧表插入两个值
insert into student(id,name,tel) values(101,"Jack","110")
insert into student(id,name,tel) values(102,"Rose","119")
结果如图
clip_image002Sqlite删除列方法
3.接下来我们删除电话这个列,首先根据student表创建一张新表teacher
create table teacher as select id,name from student
结果如图
clip_image004clip_image002Sqlite删除列方法
可以看到tel这一列已经没有了
4.然后我们删除student这个表
drop table if exists student
5.将teacher这个表重命名为student
alter table teacher rename to student
结果演示:
select * from student order by name desc(desc降序, asc升序)
clip_image006clip_image004clip_image002Sqlite删除列方法
这样就可以得到我们想要的结果了。
另外:给自己一个提示,在android sqlite中的查询语句如果是text类型的别忘了给他加上””来指明是String类型的,例如:
Cursor c = mSQLiteDatabase.query(TABLE_NAME, null, NAME + "=" + "\"" + name + "\"", null, null, null, null);
Tags: 

延伸阅读

最新评论

发表评论