ios应用数据存储方式(Sqlite)

一. 简介
Sqlite:主要用于大数据的存储
Sqlite的使用步骤:
1.导入头文件
2.一般把数据库文件放入沙盒,所以需要先设定存放路径
3.打开数据库--用sqlite3_open方法
4.创建数据列表
5.然后就可以对Sqlite 数据库进行  增-删-改-查。不能忘记对执行数据库语句
 
二、简单介绍常用方法
sqlite3          *db, 数据库句柄,跟文件句柄FILE很类似
sqlite3_stmt      *stmt, 这个相当于ODBC的Command对象,用于保存编译好的SQL语句
sqlite3_open(),   打开数据库,没有数据库时创建。
sqlite3_exec(),   执行非查询的sql语句
Sqlite3_step(), 在调用sqlite3_prepare后,使用这个函数在记录集中移动。
Sqlite3_close(), 关闭数据库文件
还有一系列的函数,用于从记录集字段中获取数据,如
sqlite3_column_text(), 取text类型的数据。
sqlite3_column_blob(),取blob类型的数据
sqlite3_column_int(), 取int类型的数据
      
        三.代码
    //1 . 创建沙盒:一般把数据放入沙盒,所以先设定存放路径
    NSString * _dbPath =[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySql.sqlite"];
    NSLog(@"%@",_dbPath);
    
    //2. 打开数据库--sqlite3_open方法,打开数据库文件,第一个参数代表数据库文件的路径,需要注意调用UTF8String方法,
      将NSString转换成c的字符串格式,第二个参数代表数据库对象,该方法如果为0SQLITE_OK),代表数据库打开成功,如果该路径
      没有数据库文件,则需要先创建在打开,否则直接打开
    sqlite3_open([_dbPath UTF8String], &_db);
    
    //3 . 创建数据列表 --  create table if not exists(如果表不存在) Student(表名,自己定义)
    (该括好放要保存的信息:字段名 字段格式,多个字段之间用逗号隔开)
   NSString * s = @"create table if not exists Student(name Text,age Integer)";//如果数据库中没有Student表,
        则创建该表,包含 字符串形式的name和整型的age
 
    //4. 执行数据库语句-- --第一个参数代表执行的数据库对象,也就是打开的数据库,第二个参数代表执行语句,
        后面三个直接给NULL即可
    sqlite3_exec(_db, [s UTF8String],NULL,NULL,NULL);
    
    // 5.数据库增加数据
    NSString * insert = @"insert into Student(name,age) values ('我是一把神经刀',23)";
    sqlite3_exec(_db, [insert UTF8String] ,NULL,NULL,NULL);
   
    NSString * insert1 = @"insert into Student (name,age) values ('姑娘你好',22)" ;
    sqlite3_exec(_db ,[insert1 UTF8String], NULL, NULL,NULL);
    
    //6 .删除数据 -- sql删除语句: delete(关键字) from Student(表名) where(条件关键字) name(字段名) = ‘姑娘
       (要删除数据的条件,如果是TEXT,用单引号引起来)
    NSString * delsql = @"delete from Student where name = '我是一把神经刀'";
    sqlite3_exec(_db, [delsql UTF8String], NULL, NULL, NULL);
   
    //7 .--修改数据(更新)---sql更新语句:update(关键字) Student(表名) set(关键字,赋值)
    age(字段名) = 25(要更改的值,如果要更新多个字段,则用逗号隔开) where(条件关键字) rowid(字段名) = 6(条件)
    NSString * updatesql = @"update Student set age = 100,name = '张小花' where rowid = 8";
    sqlite3_exec(_db, [updatesql UTF8String], NULL, NULL, NULL);

     

       

        2.SQLite  (转载大神的总结的SQLite)

(1)什么是SQLite?

答:SQLite是一款轻型的嵌入式数据库,安卓和ios开发使用的都是SQLite数据库

(2)特点(优点)

  答:1)它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了

  2)它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快

(3)什么是数据库

答:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

(4)数据库的分类

答:可以分为2大种类

关系型数据库(主流)和对象型数据库(直接把内存中的对象塞入到数据库,对比关系型数据库而言性能不能很好,效率不高)

(5)常用关系型数据库有哪些?

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

  嵌入式移动客户端:SQLite

(6)数据库是如何存储数据的?

答:数据库的存储结构和excel很像,以表(table)为单位 。表由多个字段(列、属性、column)组成,表里面的每一行数据称为记录

(7)数据库存储数据的步骤?

1)新建一张表(table)

2)添加多个字段(column,列,属性)

3)添加多行记录(row,record,每行存放多个字段对应的值)

原文地址:https://www.cnblogs.com/yibadao/p/5022627.html