Android中sqlite的一些操作命令

来源:互联网 发布:爱沙尼亚语 知乎 编辑:程序博客网 时间:2024/06/01 01:33

Android中轻量化的sqlite很好用,本文就介绍一些常用的sqlite命令

.table 可以查看此数据库下所有的表;

 select * from sqlite_master WHERE type = "table";   可以查询到当前数据库中所有表的详细结构信息

.schem 可以查看数据库建表语句

看看目前挂的数据库  .database 

如果要把查询输出到文件  .output 文件名  

把查询结果用屏幕输出  .output stdout  

把表结构输出,同时索引也会输出  .dump 表名  

退出 .exit 或者.quit

字段截取 substr,例如:select substr(tel,1,8) from user;

字段包含 like,例如:select tel from user where tel like"%158%";

长度 length,例如:select name from user where length(name)>11;

计数 count,例如:select count(id) from user;id为主键,可以写成count(1),count(*);

上面三种count的写法区别在于效率:一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的。假如表沒有主键(Primary key), 那么count(1)比count(*)快,如果有主键的話,那主键作为count的条件时count(主键)最快,如果你的表只有一个字段的话那count(*)就是最快的,count(*) 跟 count(1) 的结果一样,都包括对NULL的统计,而count(column) 是不包括NULL的统计
1、select 1 与 select *的区别 
selelct 常量 from ... 对应所有行,返回的永远只有一个值,即常量。所以正常只会用来判断是否有还是没有(比如exists子句)。而select * from ... 是返回所有行的所有列。 
性能上的差异,关键看你的from和where子句。比如说如果你的where条件中可以通过索引,那显然 select 1 from ... 的性能比 select * from ... 好。 
2、select sum(1)的使用 
select count(*)返回所有满足条件的记录数,此时同select sum(1) 
但是sum()可以传任意数字,负数、浮点数都可以,返回的值是传入值n*满足条件记录数m。

字符串拼接 不是concat,而是||,例如:update message set content=content||"abcd" where id%2=0 and id>50;

SELECT 'A'+'B' 结果为0
select "A"+"1" 结果为1
select "A"+1 结果为1
select 2+1 结果为3
=在“+”运算中,SQLite将字符串非数字串都当作0处理了
|| String Concatenation
* Arithmetic Multiply
/ Arithmetic Divide
% Arithmetic Modulus
+ Arithmetic Add
– Arithmetic Subtract
<< Bitwise Right shift
>> Bitwise Left shift
& Logical And
| Logical Or
< Relational Less than
<= Relational Less than or equal to
> Relational Greater than
>= Relational Greater than or equal to
= Relational Equal to
== Relational Equal to
<> Relational Not equal to
!= Relational Not equal to
IN Logical In
AND Logical And
OR Logical Or
LIKE Relational String matching
GLOB Relational Filename matching

字符串替换replace

sqlite官方文档:http://sqlite.org/lang_corefunc.html

replace的介绍:http://www.cnblogs.com/liping13599168/archive/2011/05/24/2054908.html

0 0