Sqlite

1. Sqlite数据库

> 数据库? 按数据结构来组织,存储和管理数据的仓库。

> 关系型数据库:使用二维表及其之间的联系组织成一个数据组织。

关系:可以理解为一张二维表,每个关系都有个关系名,通常说的表名。

元组:可以理解为二维表中的一行,在数据库中成为记录

属性: 二维表中的一列,成为字段

关键字: 一组可以唯一标识元组(记录)的属性,数据库中成为主键,由一个或多个列组成。

关系模式: 对关系(表)的描述,格式:表名(字段1,字段2,…),即表结构

> Sqlite 数据库是轻量级的关系型数据库,iOS 和Android都是用的Sqlite.

(其他类型的数据库:MySQL, SQLServer,Oracle…)

> Sqlite 表中支持的数据类型:

NULL-空值

INTEGER- 有符号整数类型

REAL - 浮点数类型

TEXT - 字符串

BLOB - 二进制数据

2. SQL :数据库语言,结构化查询语言(Structured Query Language),用于操作数据库。

> 常用查询语句:

1).建表语句

create table if not exists TableName(Field1 DataType, Field2 Data, ...)

2).插入语句,增

insert into TableName(Field1, Field2, ...) values(value1, value2, ...)

3).更新数据,改

update TableName set Field1=Value1, Field2=Value2  where Field1  = Value1

4).删除数据,删

delete from TableName

5).查询语句,查

select Field from TableName // 查询指定字段数据

select * from TableName limit 10 // 查询所有数据并且取最后10条数据

select * from TableName order by Field asc // 查询结果根据哪个字段来排排序(asc升序/desc降序)

select count (*) from TableName // 查询数据的数量

6).条件判断

select * from TableName where Field=Value   // 等于

  where Field>Value   // 大于

  where Field<Value   // 小于

  where Field<>Value // 不等于

where Field in ('Value1', 'Value2', 'Value3') // 在集合中的⼀个

where Field between Value1 and Value2  // 在两个值之间

3. iOS中直接操作SQLite的接口是C语言的,在开发中可自己封装,但需要调用一些c函数,一般情况下使用封装好的第三方库操作管理数据库。

使用SQLite,需要导入libsqlite3

iOS中用到的四种方式: 属性列表,对象归档, sqlite数据库存储,基于sqlite的封装的系统框架CoreData。

FMDB

1. 官方地址:https://github.com/ccgus/fmdb

封装了Sqlite的数据库操作,需要导入 libsqlite3

> 使用FMDB

-将该库工程目录下 fmdb 目录拖曳添加到自己的工程下;

-导入libsqlite3

> 封装 FMDB的操作(实际开发时一般要封装下)

// 在封装类里引入

#import "FMDB.h"

// 创建数据库(已存在则不创建)

[FMDatabase databaseWithPath:]  // 注意数据库创建的文件是要保存在应用程序沙盒目录下

// 打开/关闭数据库

[db open] / [db close]  // 创建完毕后要执行open方法,否则数据库无法创建

// 执行sql 语句

[db executeUpdate:]  // 非查询语句

[db executeQuery:]    // 查询语句

*多语句执行

[db executeStatements:]

// 查询结果集

FMResultSet *rs = [_dataBase executeQuery:];

// 循环读取结果集中的记录

[rs next]

// 读取记录中的字段值

intForColumn:

  • longForColumn:
  • longLongIntForColumn:
  • boolForColumn:
  • doubleForColumn:
  • stringForColumn:     // 最常用,将读取的数据转换为字符串

Sqlite/ FMDB的更多相关文章

  1. 李洪强iOS面试总结之- FMDB

    n什么是FMDB pFMDB是iOS平台的SQLite数据库框架 pFMDB以OC的方式封装了SQLite的C语言API p nFMDB的优点 p使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 ...

  2. ios资源

    ios 资源 分类: ios开发2012-05-30 16:39 573人阅读 评论(0) 收藏 举报 ios文档calendar2010reference图像处理 学习过程当中查找到的资料,做一个记 ...

  3. IOS地址

    IOS开发-你不可缺少的资源汇总-知识分享-转   如何用Facebook graphic api上传视频: http://developers.facebook.com/blog/post/532/ ...

  4. ios 学习路线总结

    学习方法 面对有难度的功能,不要忙着拒绝,而是挑战一下,学习更多知识. 尽量独立解决问题,而不是在遇到问题的第一想法是找人. 多学习别人开源的第三方库,能够开源的库一定有值得学习的地方,多去看别的大神 ...

  5. (转)IOS 的一些资源汇总

      UI界面类项目: Panoramagl —— 720全景展示 Panorama viewer library for iPhone, iPad and iPod touch MBProgressH ...

  6. iOS-----GitHub上比较齐全的iOS 工具和App

    Github-iOS 工具 和 App   系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错-       BFKit 又一套Ca ...

  7. (转) iphone开发资源汇总

    如何用Facebook graphic api上传视频: http://developers.facebook.com/blog/post/532/ Keychain保存数据封装: https://g ...

  8. 李洪强经典面试题31- FMDB

    n什么是FMDB pFMDB是iOS平台的SQLite数据库框架 pFMDB以OC的方式封装了SQLite的C语言API p nFMDB的优点 p使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 ...

  9. 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...

随机推荐

  1. [ngClass]、[ngStyle]的基本使用(转载)

    1.ngStyle 基本用法 <div [ngStyle]="{'background-color':'green'}"></<div> 判断添加 & ...

  2. sql查询原理和Select执行顺序

    一 sql语句的执行步骤 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限. 3)视图转换,将涉及视图的 ...

  3. 玩玩nmap

    ---恢复内容开始--- [root@miyan ~]# nmap -v Starting Nmap 7.12 ( https://nmap.org ) at 2016-04-04 15:34 CST ...

  4. [ Error 分析] Comparison method violates its general contract!

    public static void main(String[] args) { List<Long> ret = new ArrayList<>(); int n = 103 ...

  5. python基础(数字、字符串、布尔值、字典数据类型简介)

    一 执行第一个python程序 1.下载安装python2.7和python3.6的版本及pycharm,我们可以再解释器中输入这样一行代码: 则相应的就打出了一句话.这里的print是打印的意思.你 ...

  6. 大家一起来学 NHibernate+NUnit (VS2012+SQL Server2008)

    大家一起来学 NHibernate+NUnit (VS2012+SQL Server2008) 分类: C#2013-08-10 18:47 1589人阅读 评论(5) 收藏 举报 NHibernat ...

  7. Java基础知识陷阱(一)

    本文发表于本人博客. 事隔好多年了,重新拿起来Java这门语言,看似熟悉其实还很陌生,想想应该梳理下顺便提高下自己.这次先来看看Java里面的String这个对象. 经典的先看下面一段代码,请问最终创 ...

  8. PL/SQL编程—分页功能(存储过程)

    SQL),bookname ),publish )); Table created SQL> SQL> create or replace procedure sp_add_book(bo ...

  9. qplot()函数的详细用法

    qplot()函数的详细用法: library(ggplot2) # 测试数据集,ggplot2内置的钻石数据qplot(carat, price, data = diamonds)dsmall &l ...

  10. samba 4.7.16 安装配置详解

    系统:Centos 7.4 x64位 服务版本:samba-4.7.1.samba-client-4.7 Samba 简介 Samba 是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服 ...