like: 百分号(%)代表零个、一个或多个数字或字符。下划线(_)代表一个单一的数字或字符。 glob: 星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。 like不区分大小写, glob区分大小写
sqlite> select * from stu where name like "宁"; sqlite> sqlite> select * from stu where name like "%宁"; # 查询以宁结尾的名字 id name class score -- ---- ----- ----- 1 小宁 3 60 sqlite> sqlite> select * from stu where name like "宁%"; # 查询以宁开头的名字 sqlite> sqlite> sqlite> select * from stu where name like "%宁%"; # 查询包含宁的名字 id name class score -- ---- ----- ----- 1 小宁 3 60 sqlite> sqlite> sqlite> select * from stu where name like "_"; # 名字是1个字的 sqlite> sqlite> select * from stu where name like "__"; # 名字是2个字的 id name class score -- ---- ----- ----- 1 小宁 3 60 2 小雷 5 70 3 小徐 1 80 4 小伟 2 80 5 小涛 3 90 6 小梦 4 90 7 小吴 1 85 8 小张 2 95 sqlite> sqlite> sqlite> select * from stu where name like "__%"; # 名字是2个字以上的 id name class score -- ---- ----- ----- 1 小宁 3 60 2 小雷 5 70 3 小徐 1 80 4 小伟 2 80 5 小涛 3 90 6 小梦 4 90 7 小吴 1 85 8 小张 2 95 sqlite> select * from stu where name GLOB "*宁"; id name class score -- ---- ----- ----- 1 小宁 3 60 sqlite> sqlite> sqlite> select * from stu where name GLOB "??"; id name class score -- ---- ----- ----- 1 小宁 3 60 2 小雷 5 70 3 小徐 1 80 4 小伟 2 80 5 小涛 3 90 6 小梦 4 90 7 小吴 1 85 8 小张 2 95 sqlite> select * from stu where name like "aa"; id name class score -- ---- ----- ----- 9 AA 2 90 10 aa 3 90 sqlite> sqlite> select * from stu where name glob "aa"; id name class score -- ---- ----- ----- 10 aa 3 90空判断
select * from table(表名) where trim(字段)='';is null 不起作用
sqlite> select * from stu where score is not null; id name class score -- ---- ----- ----- 1 小宁 3 60 2 小雷 5 70 3 小徐 1 80 4 小伟 2 80 5 小涛 3 90 6 小梦 4 90 7 小吴 1 85 8 小张 2 95 9 AA 2 10 aa 3 sqlite> sqlite> select * from stu where trim(score)=''; id name class score -- ---- ----- ----- 9 AA 2 10 aa 3 sqlite> sqlite> sqlite> select * from stu where trim(score)!=''; id name class score -- ---- ----- ----- 1 小宁 3 60 2 小雷 5 70 3 小徐 1 80 4 小伟 2 80 5 小涛 3 90 6 小梦 4 90 7 小吴 1 85 8 小张 2 95asc:从小到大排列,即为升序 desc:从大到小排列,即为降序
sqlite> select * from stu order by score; id name class score -- ---- ----- ----- 1 小宁 3 60 2 小雷 5 70 3 小徐 1 80 4 小伟 2 80 7 小吴 1 85 5 小涛 3 90 6 小梦 4 90 8 小张 2 95 9 AA 2 10 aa 3 sqlite> sqlite> select * from stu order by score asc; id name class score -- ---- ----- ----- 1 小宁 3 60 2 小雷 5 70 3 小徐 1 80 4 小伟 2 80 7 小吴 1 85 5 小涛 3 90 6 小梦 4 90 8 小张 2 95 9 AA 2 10 aa 3 sqlite> sqlite> sqlite> select * from stu order by score desc; id name class score -- ---- ----- ----- 9 AA 2 10 aa 3 8 小张 2 95 5 小涛 3 90 6 小梦 4 90 7 小吴 1 85 3 小徐 1 80 4 小伟 2 80 2 小雷 5 70 1 小宁 3 60 sqlite> sqlite> sqlite> sqlite> select * from stu order by score desc, class asc; id name class score -- ---- ----- ----- 9 AA 2 10 aa 3 8 小张 2 95 5 小涛 3 90 6 小梦 4 90 7 小吴 1 85 3 小徐 1 80 4 小伟 2 80 2 小雷 5 70 1 小宁 3 60 sqlite> sqlite> sqlite> sqlite> sqlite> select * from stu order by score desc, class desc; id name class score -- ---- ----- ----- 10 aa 3 9 AA 2 8 小张 2 95 6 小梦 4 90 5 小涛 3 90 7 小吴 1 85 4 小伟 2 80 3 小徐 1 80 2 小雷 5 70 1 小宁 3 60limit:开始索引,条数 (索引从0开始)
sqlite> select * from stu limit 1; id name class score -- ---- ----- ----- 1 小宁 3 60 sqlite> sqlite> sqlite> select * from stu limit 1,4; id name class score -- ---- ----- ----- 2 小雷 5 70 3 小徐 1 80 4 小伟 2 80 5 小涛 3 90 sqlite> sqlite> select * from stu limit 0,4; # limit在使用的时候,需要放在sql语句最后面 id name class score -- ---- ----- ----- 1 小宁 3 60 2 小雷 5 70 3 小徐 1 80 4 小伟 2 80待补充完善-------------
