基于Sqlite数据库的一些常用的操作语句
1、新建数据表
- 新建一个名字为testtable的数据表,分成a,b,c 3列内容:
create table testtable (a int primary key , b varchar , c varchar);
2、插入数据内容
1)按顺序依次插入数据
- insert into testtable values (1,2,3);
- insert into testtable values (2,‘str1’,‘str2’);
2)选择列插入数据
- insert into testtable (a,c) values (3,‘str3’);
3、删除数据内容
1)清空全部内容
- delete from testtable;
2)删除一行内容
- delete from testtable where id=1;
3)删除一列内容
sqlite不支持直接删除列,可进行如下操作:
法一:
- 清空某一列的内容:update testtable set c = null;
法二:
- 在原来表的基础上新建一个表(表名不能相同):create table testtable2 as select a,c from testtable;
- 删除原来的那个表:drop table testtable;
- 给新建的这个表改名:alter table testtable2 rename to testtable;
4、删除数据表
- drop table testtable;
5、数据表重命名
- alter table testtable rename to testtable2;
6、修改列名称
例如想要将testtable中的a列名称修改为a1列,网络上有一种方法,使用alter table testtable rename column a to a1来修改a列名称,但实际操作发现有问题无法实现,考虑使用新方法:
- 新建一个数据表:(新建时想要修改的列名称已经修改)
create table testtable2 (a1 int primary key , b varchar , c varchar); - 使用insert将原来的数据全部插入到新建的表:
insert into testtable select a,b,c from testtable; - 删除原来的表:
drop table testtable; - 给新建的表重命名:
alter table testtable2 rename to testtable;
7、修改列的数据类型
- SQLite的ALTER TABLE命令在3.25.0版本之前并不支持修改列的数据类型,想要修改数据类型,参照第6点的修改列名称的步骤。
- 如果sqlite版本在3.25.0以上,参照语句:
alter table testtable alter column a type text;
8、修改指定数据
- update testtable set c=“111” where a=2;
9、替换符合条件的内容
- update 数据表名 set 列名=replace(列名,‘原内容’,‘新内容’);
- update testtable set c = replace(c,‘111’,‘222’);
10、插入新列
- alter table 表名 add column 列名 数据类型;
- alter table testtable add column d int;