您的位置:首页 > 数据库

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

2014-11-05 14:17 357 查看

在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里也是不能成功的。

归档:

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

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
从一个表或者是多个表中检索某些记录。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: