美文网首页iOS学习记录
sqlite的基本操作(一)

sqlite的基本操作(一)

作者: 我系哆啦 | 来源:发表于2016-03-20 00:11 被阅读108次

    iOS开发中常用的数据存储方式主要有以下几种:

    1,XML属性列表;2,Preference;3,归档;4,sqlite3;5,CoreData.

    因为近期刚换公司,公司项目的数据存储主要由sqlite完成,项目主管也提前打了招呼,因为项目中的数据存储也会比较复杂,需要复习sqlite的知识.所以本文主要复习sqlite的基本操作.

    一:数据库管理

    test.db //创建数据库,创建表的时候才会真的创建数据库

    .schema //获得数据库的Schema信息

    .output file.sql ; .dump; .output stdout //导出数据

    .read file.sql //用来导入.dump命令创建的文件

    test2.db < file.sql //备份数据库

    create table foods (id integer primary key,type_id integer,name test) //创建表

    alter table foods add column email text not null default '' //修改表,添加列

    二:数据库查询

    过滤:

           select * from foods where name = 'egg' and type_id = 9; //支持逻辑操作符 AND,OR,NOT,IN

           select * from foods where name like '%egg%'; // %是贪婪匹配符

    限定和排序

           select * from foods order by id limit 1 offset 1 //limit限制数量,offset 指定偏移的记录数

           select * from foods where name like 'B%' order by type_id desc, name limit 10; //desc(降序),asc(默认的升序)

    函数和聚合

         函数包括upper(),lower(),length(),abs()等数学函数,也包括聚合函数:sum(),avg(),count(),min(),max().

         select count(*) from foods where type_id=1; //计算type_id = 1 的行的数量

    分组(grouping)

         select type_id from foods group by type_id;

    去掉重复

        select distinct type_id from foods;

    多表连接,分为内连接,交叉连接,外连接(外连接又分为左连接,右连接,全外连接),以及自然连接.

       select foods.name, food_types.name from foods, food_types where        foods.type_id=food_types.id ;

        Select * From foods inner join food_types on foods.type_id = food_types.id; //内连接

      select * from foods, food_types; //交叉连接

       select *from foods left outer join foods_episodes on  foods.id=foods_episodes.food_id; //左外连接

    子查询,子查询是指select语句中又嵌套select语句

    select count(*) from foods where type_id in (select id from food_types where name='Bakery' or name='Cereal');

    相关文章

      网友评论

        本文标题:sqlite的基本操作(一)

        本文链接:https://www.haomeiwen.com/subject/epghlttx.html