zoukankan      html  css  js  c++  java
  • SQLite

     
    什么是SQLite
    SQLite是一款轻型的嵌入式数据库
    它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了
    它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快
    什么是数据库
    数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
    数据库可以分为2大种类
    关系型数据库(主流)
    对象型数据库
    常用关系型数据库
    PC端:Oracle、MySQL、SQL Server、Access、DB2、Sybase
    嵌入式移动客户端:SQLite
     
     
    数据库是如何存储数据的
    数据库的存储结构和excel很像,以表(table)为单位
    数据库存储数据的步骤
    新建一张表(table)
    添加多个字段(column,列,属性)
    添加多行记录(row,每行存放多个字段对应的值)
     
    数据存储的方式:
    Plist(NSArrayNSDictionary)
    Preference(偏好设置NSUserDefaults)
    NSCoding(NSKeyedArchiverNSkeyedUnarchiver)
    SQLite3
    Core Data

    1.打开数据库

    int sqlite3_open(

        const char *filename,   // 数据库的文件路径

        sqlite3 **ppDb          // 数据库实例

    );

    2.执行任何SQL语句

    int sqlite3_exec(

        sqlite3*,                                  // 一个打开的数据库实例

        const char *sql,                           // 需要执行的SQL语句

        int (*callback)(void*,int,char**,char**),  // SQL语句执行完毕后的回调

        void *,                                    // 回调函数的第1个参数

        char **errmsg                              // 错误信息

    );

    3.检查SQL语句的合法性(查询前的准备)

    int sqlite3_prepare_v2(

        sqlite3 *db,            // 数据库实例

        const char *zSql,       // 需要检查的SQL语句

        int nByte,              // SQL语句的最大字节长度

        sqlite3_stmt **ppStmt,  // sqlite3_stmt实例,用来获得数据库数据

        const char **pzTail

    );

    4.查询一行数据

    int sqlite3_step(sqlite3_stmt*); // 如果查询到一行数据,就会返回SQLITE_ROW

    5.利用stmt获得某一字段的值(字段的下标从0开始)

    double sqlite3_column_double(sqlite3_stmt*, int iCol);  // 浮点数据

    int sqlite3_column_int(sqlite3_stmt*, int iCol); // 整型数据

    sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol); // 长整型数据

    const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); // 二进制文本数据

    const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);  // 字符串数据

  • 相关阅读:
    MFC Windows 程序设计>WinMain 简单Windows程序 命令行编译
    AT3949 [AGC022D] Shopping 题解
    CF643D Bearish Fanpages 题解
    CF643C Levels and Regions 题解
    CF241E Flights 题解
    CF671C Ultimate Weirdness of an Array 题解
    CF1592F Alice and Recoloring 题解
    GYM 102452E 题解
    CF494C Helping People 题解
    P5556 圣剑护符
  • 原文地址:https://www.cnblogs.com/Ruby-Hua/p/5222783.html
Copyright © 2011-2022 走看看