学习工具
1. 火狐浏览器 65.0.1 (64位) SQLiteManager 插件
2. 可视化工具 SQLiteStudio ,工具链接
常用语句
1. 创建表
create table [if not exists] table_name (column_name1 [text] , column_name2 [integer] , column_name3 [int] , ......) ;
主键:constraint [主键名] primary key (column_name1, column_name2, column_name3, ...) //主键用来表示表中唯一一行数据,一个表只能有一个主键,主键对应的数据不能重复
外键:constraint [外键名] foreign key (column_name1, column_name2, column_name3, ...) references [父表名] (column_name1, column_name2, column_name3) ON UPDATE CASCADE ON DELETE CASCADE) //外键表中外键约束的字段跟随主键表中对应字段级联更新或删除
2.插入
insert into table_name (colume1, column2, ...) values(value1, value2, ...) values()里面的数据对应前面()中列名对应
3. 删除
1). 删除表(连同数据一起删除)
drop table [if exists] table_name ;
2).删除表中所有数据(只删除表中数据不会删除表)
delete from table ;
3).删除具体某条或多条数据
delete from table where (condition)... ;
4.修改
update table_name set column_name1 = (value) , column_name2 = (value) , ... [where condition] ;
5.查询
1).查询所有数据
select * from table_name ;
2).按条件查询数据
select * from table_name where condition ... ;
3).查询部分列数据
select column_name1 , column_name2 , ... from table_name [where condition] ;
4).查询函数
1. distinct 去重
select distinct column_name1, column_name2, .... from table_name [where condition] ; 查询的结果过滤重复数据
2. count 计算数量
select count(column_name) from table [where condition] ;
3. group by 分组,可与having 配合使用增加筛选条件
select * from table_name group by [column_name1 , column_name2 , ...] [having condition];
4.group_concat() 聚合函数, 合并筛选结果,要和group by语句同时使用才能产生效果
select group_concat(column_name1) from table_name [where condition] group by [column_name1 , column_name2 , ...] ;
6).join 多表查询
参考:https://blog.csdn.net/runtime233/article/details/77164332
1. select column_name1, column_name2, ... from table_name1, table_name2 [where condition] ;
感觉相当于内连接,筛选两表中符合条件的公共部分
2. select column_name1, column_name2, ... from table_name1 inner join table_name2 on condition ;
内连接,筛选符合条件部分
3. select column_name1, column_name2, ... from table_name1 left join table_name2 on condition ;
以左侧表(table_name1) 为基础返回所有符合条件的记录, 没有符合条件时以null 填充
6).从查询结果中再次查询
select column_name1 , column_name2 , ... from (select * from table_name [where condition]) [where condition] ;