美文网首页
iOS SQLite(数据库)

iOS SQLite(数据库)

作者: J_HX | 来源:发表于2016-08-17 10:33 被阅读53次

    iOS - SQL

    1>单利写法创建方式 只有一个对象
    // 单利不能够被释放哦,内存管理中
    要使用数据库第一步要导入一个库<sqlite3.h>

    98653CF2-7907-4BF7-A491-ABFF917792C3.png
    注意这里选择库最好选择sqlite3.0thd, 因为它是sqlite3.h的替身如果不小心删除的话只会删除替身 不会删除其本身
    
    

    先从数据库语句-SQL语句

    1. 在程序运行过程中,要想操作(增删改查,CRUD)数据库中的数据,必须使用SQL语句
    2. SQL语句不区分大小写,且语句结束要写“分好---。”
    3. SQL- 常用关键字 select、insert、update、delete、from、create、where、desc、order、by、group、table、alter、view、index,autoincrement等等
      数据库中不可以使用关键字来命名表、字段

    SQL-基本操作

    1 创建表
    creat table 表名(字段名1 字段类型1,字段名2 字段类型2,...)
    create table if not exists 表名(字段名1 字段类型1,字段名1,字段名2,字段类型2)
    示例
    creat table t_student (id integer ,name text,age integer, score, real);
    2 字段类型
    SQLite将数据划分为以下几种存储类型
    integer:整形值
    text:浮点值
    text:文本字符串
    blob:二进制数据(比如文件)
    auto increment 自增字段,

    注意:实际上SQLite是无类型的,就算声明integer类型 结果还是可以存储字符串(主键除外)
    
    auto increment 自增字段,默认如果填入null,值会从1开始如果填入其他值,会从其他值开始,例填入110,值会从110 开始计算,并进行存储存储在sqlite_sequence中
    

    键表时申明啥类型或者不声明类型都可以, 也就意味着创表语句可以这么写:
    create table t_student(name,age);
    为了保持良好的编程规范、方便程序员之间的交流,编写建表语句最好加上每个字段的具体类型
    3 删表
    格式
    drop table 表名;
    drop table if exists 表名

    drop table t_student;
    插入数据(insert)
    格式insert into表名(字段1,子段2,。。。)values(字段1的值,字段2的值)

    insert into t_student(name,age)values(‘hx’,0);
    注意数据库中的字符串内容应该用单引号‘ ’括住
    5 更新数据(update)
    格式
    update表名set字段1 = 字段1的值,字段2 = 字段2的值

    update t_student set name = ‘jack’,age =30;
    注意 上面会将t_student表中所有记录的name都改为Jack age都改为30

    6 删除数据(delete)
    格式delete from表名;

    delete from t_student;
    注意
    会将t_student表中所有记录都删除掉
    7条件语句
    如果只想更新或者伤处某些固定的记录, 那就必须在DML语句后面上加上一些条件条件语句的常见格式
    where 字段 = 某个值;//不能用两个=
    where 字段!=某个值;
    where 字段is not 某个值;// is not 相当于!=where字段>某个值
    where 字段1 = 某个值 and 字段2 > 某个值 ; // and相当于C语言中的 && where 字段1 = 某个值 or 字段2 = 某个值 ; // or 相当于C语言中的 ||
    8select
    格式
    select * from 表名数值1, 数值2

    select * from t_student 1,3;
    循环结束后销毁对象
    sqlite3_finalize(stmt)
    希望可以帮助大家
    讨论iOS技术、提些意见➕QQ : 251099939
    在线解答

    相关文章

      网友评论

          本文标题:iOS SQLite(数据库)

          本文链接:https://www.haomeiwen.com/subject/thlmsttx.html