Android 中的sql语句记住比较麻烦,这里做一个笔记方便自己查阅。
一、表操作
1.查询数据库下的所有表信息
select * from sqlite_master where type='table' order by name
- 例:查询数据表名为Person的信息
select * from sqlite_master where type='table' and name = 'Person'
sql为表的创建语句
2.创建表
创建一个表名为Person,id, age ,msg 三个字段
create table Person(id INTEGER primary key autoincrement,age int,name text )
不存在才创建表
create table if not exists Person(id INTEGER primary key autoincrement,age int,name text )
3.删除表
例:删除表Person
drop table if exists Person
4.查询表的字段信息
例:查询表Person的字段信息
pragma table_info(Person)
5.增加一个字段
为Person 表增加一个JOB字段
ALTER TABLE Person ADD COLUMN JOB VARCHAR(60)
二、查询数据
1.查询表中所有数据
select * from 表名
select * from Person
2.查询数据总数
select count(*) as total from 表名
select count(*) as total from Person
3.where 用法
例:查询Person表中name为小红的数据
select * from Person where name = '小红'
4.like用法
表示某个字段数据中是否含有此值
查询Person表中name中带有‘小’字的数据
select * from Person where name like '%小%'
5.in的用法
表示某个字段中包含的情况
例:比如查Person表中age为22与23的所有用户
//age 为22,或者23的情况
select * from Person where age in (22,23)
6.limit用法
最少查多少数据,如果总数小于limit值返回所有数据,如果大于则返回指定的数据是
//至少返回100条
select * from Person limit 100
7.limit与offset共用
offset表示从哪个位置开始查询,可以用来分页查询
//从表中101条数据开始查询返回至少100条数据(如果有100以上的情况)
select * from Person limit 100 offset 101
8.order by 排序
默认为正序 asc
以Person表的自增长id为例,
select * from Person order by id asc
倒序desc
select * from Person order by id desc
9.巧用替代符
有时表名太长,我们完全可用中间替代符
//下面用t直接代替guangzhou_person表,我们也可用其他字符,注意不要用特殊字符
select * from guangzhou_person t where t.name = '小红'