一、表操作
1.创建表
创建一个表名为Person,id, age ,msg 三个字段
createtable Person(id INTEGER primary key autoincrement,age int,name text )
createtable if not exists Person(id INTEGER primary key autoincrement,age int,nametext )
2.删除表
例:删除表Person
droptable if exists Person
3.查询数据库下的所有表信息
select* from sqlite_master where type='table' order by name
例:查询数据表名为Person的信息
select* from sqlite_master where type='table' and name = 'Person'
sql为表的创建语句
4.查询表的字段信息
例:查询表Person的字段信息
pragma table_info(Person)
5.增加一个字段
为Person 表增加一个JOB字段
ALTERTABLE Person ADD COLUMN JOB VARCHAR(60)
二、查询数据
1.查询表中所有数据
select* from 表名
select* from Person
2.查询数据总数
selectcount(*) as total from 表名
selectcount(*) 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.orderby 排序
默认为正序 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 = '小红'
三、删除(Delete)
deletefrom <tablename> where <条件(和查询时条件类似)>
四、更新(update)
update<tablename> set <field>=<value> where <条件(和查询时类似)>;
添加约束
主键:primary key (字段 ... primary key)
外键:references (字段 ... references data2 (主键))
非空:not null(字段 ... not null)
唯一:unique (字段 ... unique)
默认值:default (字段 ... default 默认值)