关于iOS中数据持久化的几种方法,重点介绍SQLite3

在iOS开发的过程中我们常使用的数据持久化的方法大概有四种,SQLite3数据库、NSUserDefaults、Plist以及归档这四种方法各有各的长处

plist:

plist,全名PropertyList,即属性列表文件,它是一种用来存储串行化后的对象的文件。这种文件,在ios开发过程中经常被用到。这种属性列表文件

的扩展名为.plist,因此通常被叫做plist文件。文件是xml格式的。Plist文件是以key-value的形式来存储数据。既可以用来存储用户设置,也可以用来存储

一些需要经常用到而不经常改动的信息。在对plist文件的操作有创建,删除,写入和读取等操作。

NSUserDefaults:

  NSUserDefaults可以存取一些短小的信息,比如存入再读出一个字符串到NSUserDefaults,但是并不是所有的东西都能往里放的。

NSUserDefaults只支持: NSString, NSNumber, NSDate, NSArray, NSDictionary.如果把一个自定义的类存到一个NSArray里,然后再存到

NSUserDefaults里也是不能成功的。


归档:

归档也叫序列化,是将文件存在硬盘,解档是从硬盘还原。

SQLIte3:

数据库是我们常用的数据存储的方法,我们可以用代码创建数据库,也可以用图形化工具来创建管理数据库,下面我们酒看一下用代码创建以及管理数据库的常用命令。
首先在vim中创建数据库:SQLIte3 neme
然后创建表添加数据进行数据库操作。
下面是一些常用的命令:
 .TABLES 如果不指定表名, 则表示列出当前数据库里所有的表名, 如果指定了表名(可以使用通配符),则是列出当前数据库与指定的在模式匹配的表名。
 .schema 如果指定了表名,则可以列出创建此表的SQL语句, 如果不指定表名, 则会列出当前数据库所有表的表结构(以SQL语句形式列出)   
 .read 后面跟文件名, 意思是读取文件里的SQL语句, 并执行。

关于SQL

创建一张表:表名为Person    
create table Person (id_P int ,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(50));
向表Person插入一条数据
insert into Person values (100,'Gates','Bill','xuanwumen 10','beijing');
insert into Person values (200,'Carter','Thomas','changanstreet','beijing');
从表Person中查询数据
select * from Person; //从表Peson里查询所有字段的所有数据
select LastName ,FirstName from Person ; //从表Peron里查义字段为LastName, FirsName的所有记录的数据。
select * from Person where LastName = 'Gates'; //根据指定的条件,从表Person里查询相对应的数据,where后面跟的就是条件。
 从表Person中删除行数据
delete from Person where LastName='san'; //指的是将表Peson里LastName等san的这一行数据删除。
delete from Person //删表Person中的所有数据
delete * from Person //在标准SQL语句也表示删除表Person的所有数据。 但是在**sqlite**里不能使用这个种语方法。
 删除表格 
drop table Person;//功能是删除整张表格
更新(更改)表Peson里的数据
update Person set Lastname='qingyun' where FirstName='Bill';//更新表Person FirstName='Bill' 这条数据的LastName为新值'qingyun'
update  Person set LastName='henan' , FirstName='zhengzhou' where id_P = 200; //按照条件,id_P=200,修改这条数据的两个字段值,FirstName改为zhengzhou,LastName 改为'henan'
在SQLite数据库里, 更新表结构
alter table Person add Age int; //更新Person表结构, 功能是添加新的一列
注意的是:标准SQL里可以使用alert关键字来达到删除一列, 修改列名和列类型的功能。但是在SQLite环境里, 是不支持。

## DDL 数据定义语言

命令 描述
create 创建一个张新的表, 一个新的视图或者数据库里的其它对象
alter 修改数据库中的某个已有的数据库对象, 比如:可以修改一个表的结构
drop 删除整个表,删险视图,或者删除数据库中的其它数据库对象

## DML 数据操作语言

命令 描述
insert 创建或者说是插入一条新的记录
update 修改表中的记录
delete 删除表中的记录

## DQL 数据查询语言

命令 描术
select 从一个表或者是多个表中检索某些记录。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值