1、数据持久化

  数据持久化是通过文件将数据存储在硬盘上

  iOS下主要有四种数据持久化方式

    属性列表

    对象归档

    SQLite数据库

    CoreData

  数据持久化对的对比

    1.属性列表、对象归档适合小数据量的存储和查询操作

    2、SQLite、CoreData适合大数据的查询和错左

2、SQLite介绍

  SQLite是一款轻型的数据库,是一种关系型数据库管理系统,它的设计目的是为了嵌入式设备中进行使用

  SQLite占有资源非常低,非常适合移动设备中使用,而且它是开源免费的

  它诞生于2000年,已经将近有20年的经历,SQLite3也已经发布,官方网站是www.sqlite.org

3.数据库语句 

  SQL语句(DDL、DML、DQL)

  DDL

    语句包含CREATE和DROP

    创建表和删除表表

  DML

    其语句包含INSERT、UPDATE和DELETE,他们用于田间、修改和删除表中的数据,就是我们常说的增删改

  DQL

    其语句包括SELECT,用于查询数据

4具体的语句

  DDL

    建立表格

    CREATE TABLE 表格名 (字段1 字段1的类型,字段2 字段2的类型);

    删除表格

    DROP TABLE 表格名字;

  DML

    插入INSERT

    INSERT INTO 表格名字 (字段1,字段2。。。。) VALUES(数值1,数值2);

    删除DELETE

    DELETE FROM 表哥名

    如果在删除数据时,如果没有删除条件,将会删除所有值。如果想按照一定条件来删除数据,则需要田间where语句 (and表示前后两个条件都要符合)

    UPDATE修改

    UPDATE 表的名字 SET 修改修改的字段名 = 需要修改的值 WHERE筛选条件;

    如果需要一次性修改多个字段的值,选哟将这几个字段,用逗号隔开

  DQL语句

    查询某一个表格中的数据

    使用SELECT语句进行查询表格中的数据,能够需要指定查询的字段。如果需要查询所有的字段,则用统配符*代替

    可以使用条件语句WHERE,来设定返回数据的筛选条件

  排序查询结果

    查询得到的结果,可以按照关键词ORDER BY来指定排序条件。ASC升序 DESC降序

  模糊查询

    使用LIKE关键词,能够执行模糊查询,一般使用text类型数据

    SELECT *FORM 表格名 WHERE 需要模糊查询的字段 LIKE ‘模糊查询条件,使用%来替代任意字符’

  设置显示的数据数量

    在查询比较多的情况下,如果查询的结果比较多,查询速度就会比较慢,并且返回结果所占据的内存也有可能比较大

    SELECT * FROM 表格名 ORDER BY age ASC LIMIT x,y;

    查询的结果进行升序排列,从x开始,往后显示y条数据

   约束

    在建立表格,设定字段时,能够给字段添加约束条件

   简单约束

    不能为空

    NOT NULL 用于约束某一个字段。被NOT NULL约束的字段,在使用SQL语句插入或者修改的时候,不能设置为空。

    唯一

    在同一个表格里,某一个字段设置唯一的值。那么在字段多条数据中,不能出现重复。

    默认值

    默认值能够设定某一个字段,在没有设置具体指的条件下,将会被设置成默认值

  

    主键约束

      之间是用于区分数据表中不同数据的编码。则整个编码在没一个表格中都是独一无二的。在设计主键时应该遵守以下原则

      1.主键应该对该用户没有意义(学号、身份证号没有具体的意义)

      2.主键的值,无法修改,主键一旦生成,就无法被改变

      3.主键的值应该由系统自动生成,只有主键有系统自动生成,这样将会完完整整的确保主键的完整性

      4.一个数据表中,最多只能有一个主键

    主键的自动增长

      AUTOINCREMENT修饰主键,可以让主键自动增长

      1.插入数据时,手动设置主键的值,能够来设置主键

      2.如果没有手动设置的主键,则自动使用比前表中数据最大的的数据大一的主键

  

    外间约束

      两张表格之间,存在着数据的联系。为了能够通过一个表格的数据,查询对应的数据,可以是哟个外键进行关联

      TABLE(id name age);table(id person ....)

      将A中的ID,作为外键和B中的Person进行关联

      代码

      

    注意:使用REFERENCES关键词,能够绑定外键关联。一般来说,绑定另一张表格中的主键是最好的选择。在插入数据时,需要注意的是,外键的值,必须要是能够在所关联的表格中,存在并且唯一的相应的数据

  

    多表联查

    在有外键关联的情况下,查询表格,需要在两个表格中,同时获得数据。需要使用到夺标联查

    SELECT * form 表格1 ON 表格1中的字段=相对用表格2中的字段

    

  如果想了解更多的数据库关系,http://www.w3school.com.cn/sql/index.asp,可以在这个网站进行学习

  我写这个是给学ios没有任何数据库基础看的。

iOS中数据库运用之前的准备-简单的数据库的更多相关文章

  1. iOS中 动态启动图GIF的简单设置 韩俊强的博客

    // 设定位置和大小 CGRect frame = CGRectMake(50,340,[UIScreen mainScreen].bounds.size.width / 2,[UIScreen ma ...

  2. iOS中的MVC

      我们今天谈谈cocoa程序设计中的 模型-视图-控制器(MVC)范型.我们将从两大方面来讨论MVC: 什么是MVC? M.V.C之间的交流方式是什么样子的? 理解了MVC的概念,对cocoa程序开 ...

  3. iOS中数据库应用基础

    iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...

  4. iOS 中SQLite数据库操作

    在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 ...

  5. 在IOS中使用DES算法对Sqlite数据库进行内容加密存储并读取解密

    在IOS中使用DES算法对Sqlite 数据库进行内容加密存储并读取解密 涉及知识点: 1.DES加密算法: 2.OC对Sqlite数据库的读写: 3.IOS APP文件存储的两种方式及读取方式. 以 ...

  6. iOS中的数据库应用

    iOS中的数据库应用 SLQLite简介 什么是SQLite SQLite是一款轻型的嵌入式数据库 它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了 它的处理速度比Mysql.Post ...

  7. 数据库sqlite3的使用-ios中引用方法

    一.简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件. 导入头文件,可以使用库中的函数(是纯C语言的) 二.具体说明 新建一个项目,在项目的主界面 ...

  8. iOS中的数据库—使用FMDB

    一.回顾 iOS中的数据存储方式 1.XML属性列表(plist) 写入OC的一些基本数据类型,不是所有对象都可以写入 2.Preference(偏好设置) 本质还是通过“plist”来存储数据,但是 ...

  9. 【IOS】ios中NSUserDefault与android中的SharedPreference用法简单对比

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3405308.html 有Android开发经验的朋友对Shar ...

  10. Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作

    SQLite  是一个轻量级的免费关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,可以在(http://www.sqlite.org ...

随机推荐

  1. RGB配色表

    RGB配色表 查找请按 Ctrl+f 实效 英文名称 RGB 16色   Snow 255 250 250 #FFFAFA   GhostWhite 248 248 255 #F8F8FF   Whi ...

  2. BZOJ 1151 傲娇的人 排序

    傲娇的人 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1151 Descrip ...

  3. [Practical Git] Format commit history with git log arguments

    When running the git log command, we can pass in options as arguments toformat the data shown for ea ...

  4. iOS 如何进行逆向工程

    原文:http://www.zhihu.com/question/20317296 季逸超,Peak-Labs创始人/CEO,猛犸浏览器.Rasgue- 有幸被邀请回答,不过不知道您要了解的'系统机制 ...

  5. error: /usr/include/objc/objc-class.h: No such file or directory

    When i use the example of ShareKit package,i have come across this error:"error: /usr/include/o ...

  6. android 开源 OCR 项目 及手写识别

    http://blog.csdn.net/archfree/article/details/6023676 1)一个为Android平台,将识别由手机的相机拍摄的图像文本应用程序. http://co ...

  7. 判断ie,并确定其版本号

    var UA = navigator.userAgent,isIE = UA.indexOf('MSIE') > -1,v = isIE ? /\d+/.exec(UA.split(';')[1 ...

  8. [COCOS2DX]官网helloworld在VS2012中的部署

    VS2012.JDK.Eclipse(和adt插件)之类的基本安装这里直接略过. 以下为对cocos2dx 3.5版本在VS2012中部署的摸索: 开源项目“愤怒的小鸟”原来设置: .;..\Clas ...

  9. Spring3之MVC

    模式-视图-控制器(MVC)是UI设计中常见的设计模式, 该模式区分应用程序中的模式.视图和控制器三个角色,消除了业务逻辑与UI的耦合.模式负责封装视图展示的应用数据.视图应该只显示数据,不包含任何业 ...

  10. ios存储 plist 偏好设置 自定义对象存储

    1,plist Plist注意:不能存储自定义对象 Plist:数组和字典,  如何判断一个对象能不能使用Plist,就看下有没有writeToFile 获取应用的文件夹(应用沙盒) NSString ...