ios数据库

#define DATABASE_PATH [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]stringByAppendingString:@"/healthCloud.db”]

用于创建数据库的路径
create TABLE if not EXISTS t_student(id integer,name text)

iOS 的存储方式:
  Plist(NSArray\NSDictionary)

NSCoding(NSKeyedArchiver\NSkeyedUnarchiver)

Preference(偏好设置\NSUserDefaults)

SQLite3

core data

sqllite

什么是SQLite

● SQLite是?一款轻型的嵌?入式数据库
● 它占?用资源?非常的低,在嵌?入式设备中,可能只需要?几百K的内存就够了 ● 它的处理速度?比Mysql、PostgreSQL这两款著名的数据库都还快

● 什么是数据库
● 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库 ● 数据库可以分为2?大种类
• 关系型数据库(主流)
• 对象型数据库

常?用关系型数据库

●  PC端:Oracle、MySQL、SQL Server、Access、DB2、Sybase

●  嵌?入式\移动客户端:SQLite

什么是SQL

●  SQL(structured query language):结构化查询语?言

●  SQL是?一种对关系型数据库中的数据进?行定义和操作的语?言

●  SQL语?言简洁,语法简单,好学好?用

●  什么是SQL语句

●  使?用SQL语?言编写出来的句?子\代码,就是SQL语句

●  在程序运?行过程中,要想操作(增删改查,CRUD)数据库中的数据,必须使 ?用SQL语句

●  SQL语句的特点

●  不区分?大?小写(?比如数据库认为user和UsEr是?一样的)

●  每条语句都必须以分号 ; 结尾

●  SQL中的常?用关键字有

●  select、insert、update、delete、from、create、where、desc、order、by、group、

table、alter、view、index等等

● 数据库中不可以使?用关键字来命名表、字段

SQL语句的种类

●  数据定义语句(DDL:Data Definition Language)

●  包括create和drop等操作

●  在数据库中创建新表或删除表(create table或 drop table)

●  数据操作语句(DML:Data Manipulation Language)

●  包括insert、update、delete等操作

●  上?面的3种操作分别?用于添加、修改、删除表中的数据

●  数据查询语句(DQL:Data Query Language)

●  可以?用于查询获得表中的数据

●  关键字select是DQL(也是所有SQL)?用得最多的操作

●  其他DQL常?用的关键字有where,order by,group by和having

●  格式

●  create table 表名 (字段名1 字段类型1, 字段名2 字段类型2, ...) ;

●  create table if not exists 表名 (字段名1 字段类型1, 字段名2 字段类型2, ...) ;

●  ?示例

●  create table t_student (id integer, name text, age inetger, score real) ;

字段类型

●  SQLite将数据划分为以下?几种存储类型:

●  integer : 整型值

●  real : 浮点值

●  text : ?文本字符串

●  blob : ?二进制数据(?比如?文件)

●  实际上SQLite是?无类型的

●  就算声明为integer类型,还是能存储字符串?文本(主键除外)

●  建表时声明啥类型或者不声明类型都可以,也就意味着创表语句可以这么写:

• create table t_student(name, age);

● 为了保持良好的编程规范、?方便程序员之间的交流,编写建表语句的时候最好 加上每个字段的具体类型

删表

●  格式

●  drop table 表名 ;

●  drop table if exists 表名 ;

●  ?示例

●  drop table t_student ;

插?入数据(insert)

●  格式

●  insert into 表名 (字段1, 字段2, ...) values (字段1的值, 字段2的值, ...) ;

●  ?示例

●  insert into t_student (name, age) values (‘mj’, 10) ;

●  注意

●  数据库中的字符串内容应该?用单引号 ’ 括住

更新数据(update)

●  格式

●  update 表名 set 字段1 = 字段1的值, 字段2 = 字段2的值, ... ;

●  ?示例

●  update t_student set name = ‘jack’, age = 20 ;

●  注意

●  上?面的?示例会将t_student表中所有记录的name都改为jack,age都改为20

删除数据(delete)

●  格式

●  delete from 表名 ;

●  ?示例

●  delete from t_student ;

●  注意

●  上?面的?示例会将t_student表中所有记录都删掉

条件语句

●  如果只想更新或者删除某些固定的记录,那就必须在DML语句后加上?一些条 件

●  条件语句的常见格式

●  where字段=某个值; //不能?用两个=

●  where字段is某个值; //is相当于=

●  where 字段 != 某个值 ;

●  where字段isnot某个值; //isnot相当于!=

●  where字段>某个值;

●  where 字段1 = 某个值 and 字段2 > 某个值 ; // and相当于C语?言中的 &&

●  where字段1=某个值or字段2=某个值; // or相当于C语?言中的||

条件语句练习

?示例

将t_student表中年龄?大于10 并且 姓名不等于jack的记录,年龄都改为 5 update t_student set age = 5 where age > 10 and name != ‘jack’ ;

删除t_student表中年龄?小于等于10 或者 年龄?大于30的记录 delete from t_student where age <= 10 or age > 30 ;

猜猜下?面语句的作?用

update t_student set score = age where name = ‘jack’ ; 将t_student表中名字等于haha的记录,height字段的值 都改为 age字段的值

DQL语句

● 格式

●  select 字段1, 字段2, ... from 表名 ;

●  select * from 表名; // 查询所有的字段

● ?示例

时间: 2024-08-03 09:59:09

ios数据库的相关文章

[iOS]数据库第三方框架FMDB详细讲解

[iOS]数据库第三方框架FMDB详细讲解 初识FMDB iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等. FMDB是一款简洁.易用的封装库.因此,在这里推荐使用第三方框架FMDB,它是对libsqlite3框架的封装,用起来的步骤与SQLite使用类似,并且它对于多线程的并发操作进行了处理,所以

iOS 数据库升级

分享一段ios数据库代码.包括创建.升级.增删查改. 里面的那些类不必细究,主要是数据库的代码100%可用. 数据库升级部分,使用switch,没有break,低版本一次向高版本修改. // DB.h //iukey #import #import "sqlite3.h" #import "User.h" #import "ChatInfo.h" #import "DescInfo.h" @interface DBHelper

iOS 数据库操作(使用FMDB)

iOS 数据库操作(使用FMDB) iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一篇文章简单介绍下FMDB的使用. 在FMDB下载文件后,工程中必须导入如下文件,并使用 libsqlite3.dylib 依赖包.

iOS数据库操作之coredata详细操作步骤

CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong iOS应用数据存取的常用方式 ? XML属性列表 -- PList? NSKeyedArchiver 归档 ?Preference(偏好设置) ? SQLite3? Core DataCore Data简介 ? Core Data 是iOS SDK 里的一个很强大的

IOS数据库FMDB增、删、改、查的使用【原创】

http://blog.it985.com/13588.html IOS数据库FMDB增.删.改.查的使用[原创] FMDB是一个XCODE的中一个轻量级的数据库,用于将网络资源存储在本地.所以,FMDB是一个很实用,很关键的知识点.在这里写了个简单的例子,基于FMDB的添删改查操作,代码可能比较乱,希望不要伤了各位的眼睛.其中添加删除更改的操作都非常简单,不需要做太多操作,只需要用到FMDB封装好的executeUpdate方法就行了. 第一步.加入sqlite3的包文件 如图所示,依次选择并

iOS 数据库多线程操作

SQLite是支持多线程操作的, 需要在初始化database是做一个线程安全的config,参考下面链接,看起来比较复杂. http://www.cnblogs.com/wfwenchao/p/3964213.html 很多iOS项目中都使用FMDB这个第三方开源库,但FMDB不能在多个线程中共同一个FMDatabase对象,因为这个类本身不是线程安全的,如果这样使用会造成数据混乱等问题. 如要需要多线程操作数据库,那么就需要使用FMDatabaseQueue来保证线程安全了. 首先用一个数据

iOS 数据库升级 如何进行操作?

在iOS开发中,经常会遇到数据库升级,修改删除表的某些字段,这就需要我们来进行处理了,下面分析两种数据库的升级处理问题! 1.比如:我们常使用fmdb或者其他方式创建sqlite数据库,但是由于版本迭代问题,常常有需求要更新数据库,比如加字段.删除.修改字段等等,怎么样才能升级数据库且保持原来存的数据有效呢,上代码: const static NSInteger FAMILY_LIST_DB_MANAGER_VER = 1; @implementation KSFamilyListDBManag

iOS数据库操作(使用FMDB)

iOS学习笔记(十六)——数据库操作(使用FMDB) 分类: iOS开发 2013-07-15 23:19 8655人阅读 评论(5) 收藏 举报 目录(?)[+] iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一

iOS数据库操作流程

SQLite最新的版本是3.0,使用之前应该先导入libsqlite3.0.dylib 1.导入流程 2.iOS中操作数据库的流程 打开数据库 准备SQL数据库 执行SQL数据库 语句完结 关闭数据库 3.SQLite()使用的是C的函数接口 4.创建数据库 -(void)createSQL{ NSFileManager *manager = [NSFileManager defaultManager]; if ([manager fileExistsAtPath:kDataBaseFilePa

iOS数据库离线缓存思路和网络层封装

一直想总结一下关于iOS的离线数据缓存的方面的问题,然后最近也简单的对AFN进行了再次封装,所有想把这两个结合起来写一下.数据展示型的页面做离线缓存可以有更好的用户体验,用户在离线环境下仍然可以获取一些数据,这里的数据缓存首选肯定是SQLite,轻量级,对数据的存储读取相对于其他几种方式有优势,这里对AFN的封装没有涉及太多业务逻辑层面的需求,主要还是对一些方法再次封装方便使用,解除项目对第三方的耦合性,能够简单的快速的更换底层使用的网络请求代码.这篇主要写离线缓存思路,对AFN的封装只做简单的