zoukankan      html  css  js  c++  java
  • IOS SQLite函数总结

    SQL语句的种类

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

    ●  包括createdrop等操作

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

     

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

    ●  包括insertupdatedelete等操作

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

     

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

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

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

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

     

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

    ●  integer : 整型值

    ●  real : 浮点值

    ●  text : 文本字符串

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

     

    ●  创表格式

     ●  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) ;

    ● 插入数据格式

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

    ●  示例

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

    ●  注意

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

    更新数据 格式

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

            ●  示例

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

            ●  注意

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

     

     

    ●  删除数据格式

    ●  delete from 表名 ;

    ●  示例

    ●  delete from t_student ;

    ●  注意

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

     

    排序

       ●  查询出来的结果可以用order by进行排序

     ●  select * from t_student order by 字段 ;

    select * from t_student order by age ;

    ●  默认是按照升序排序(由小到大),也可以变为降序(由大到小)

    ●  select * from t_student order by age desc ; //降序

    ●  select * from t_student order by age asc ; // 升序(默认)

    ●  也可以用多个字段进行排序

    ●  select * from t_student order by age asc, height desc ;

    先按照年龄排序(升序),年龄相等就按照身高排序(降序)

     

     

    limit

    ●  使用limit可以精确地控制查询结果的数量,比如每次只查询10条数据

    ●  格式

    ●  select * from 表名 limit 数值1, 数值2 ;

    ●  示例

    ●  select * from t_student limit 4, 8 ;

    可以理解为:跳过最前面4条语句,然后取8条记录

     

     

    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);  // 字符串数据

     

  • 相关阅读:
    DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting
    DVWA 黑客攻防演练(九) SQL 盲注 SQL Injection (Blind)
    DVWA 黑客攻防演练(八)SQL 注入 SQL Injection
    DVWA 黑客攻防演练(七)Weak Session IDs
    DVWA 黑客攻防演练(六)不安全的验证码 Insecure CAPTCHA
    DVWA 黑客攻防演练(五)文件上传漏洞 File Upload
    工作流表结构设计
    Visual Studio 2019尝鲜----新建空项目体验
    《使用CSLA 2019:CSLA .NET概述》原版和机译文档下载
    .NET快速开发平台的在线预览
  • 原文地址:https://www.cnblogs.com/liuwj/p/6696628.html
Copyright © 2011-2022 走看看