Android中Sqlite数据库的使用

来源:互联网 发布:linux 多核运行 编辑:程序博客网 时间:2024/05/18 15:04

1.在adb shell 下的Sqlite3的一些常用命令:

  1. sqlite3【要创建的数据库】:如果数据库不存在就进行创建,如果存在就打开已有的数据库

  2. .databases 用来检查它是否在数据库列表中

  3. .tables 查看数据库中所有的表

  4. .schema 【表名】查看表的信息

2.Sqlite中的sql语句操作

(⊙﹏⊙)我不太喜欢大写,所以sql语句能小写的我都小写啦……

创建一张表:

create table tab_company(_id integer primary key autoincrement not null,name text not null,age int not null,address char(50), salary real);

在sqlite中创建表需要注意的点:

  1. sqlite不支持关键字auto_increment必须使用autoincrement

  2. 在sqlite中自增字段需要使用关键字 integer primary key

  3. 如果需要数据库自动记录添加时间的话只需要在后面加上

        add_date timestamp not null default(datetime('now','localtime')

删除数据库中的一张表:

drop table tab_user_info

insert :

/*指定插入的列名*/insert into company(name,age,address,salary)values('wangke','18','yangzhou',5000);/*也可以不指定要插入的列名,直接按照顺序依次插入*/insert into company values(6,'xiaoheo',8,'xuzhou',0);

query:

查询表中所有数据:

select *from tab_company

Limit 语句:

sqlite> select *from tab_company limit 3,2;_id         name        age         address     salary4           lizhi       40          nanjing     100000.05           mayun       40          zhejiang    1000000.0sqlite> select *from tab_company limit 3 offset 2;_id         name        age         address     salary3           xiaoma      21          beijing     10000.04           lizhi       40          nanjing     100000.05           mayun       40          zhejiang    1000000.0

注意:limit 3,2和 limit 3 offset 2的区别

ORDER By 语句的使用:

select *from tab_company where _id>1 order by salary desc limit 2;DESC:降序ASC :升序

模糊查询:

select *from tab_company where name like 'xiao%'; 百分号(%):代表零个,一个或多个字符 下划线(_):代表一个单一的数字或字符

Update:

update tab_company set name = 'xiaohei' where _id=6;更新多个字段时,使用逗号进行分割

Delete:

delete from tab_company where _id = 6; 删除表中_id = 6的字段

删除表中所有数据

delete from tab_company