zoukankan      html  css  js  c++  java
  • IOS开发——使用数据库

    IOS开发——使用FMDB数据库

    简介

    需求作用:

    如果需要保存大量的结构较为复杂的数据的时候,使用数据库,例如交规考试项目

    1、数据库的基本介绍

    数据库(DB)是一种数据模型组织起来并存放存储管理的数据仓库。它是由文件管理发展起来的,如今的数据库基本上都是关系型数据库。

    数据库的基本操作是增、删、查、改。

    常见的几种数据库,Oracle,Access,SQL Server,DB2,Mysql

    手机上使用的数据库为SQLite,因为它占用资源很好,易于配置等原因。

    2、mesaSQLite 使用

    实例: 使用数据存储存储一个班上学生的信息

    学号:sid 用户名:username 密码:password 成绩:score 1501 zhangs 123 100 1502 heihei 321 90

    (1)创建数据库

    可以直接在菜单栏中选中new database 创建出一个新的数据库。

    (2)创建数据表

    数据表的创建方式比较多一点,可以在structure中点击+号进行创建。然

    在SQL Query中输入创建语句 create table  tablename(id 类型,name 类型) (直接在下方的输入框中输入)

    (3)SQL结构化查询语句

    首先必须要有数据,加入数据的操作为insert  into tablename (id,name) values (11,'zhang')

    1.  查找所有 :select * from tablename
    2. 查找单个属性:select name from tablename
    3. 查找多个属性 :select id ,name from tablename
    4. 按一定条件查找:select id from tablename where id =XX
    5. 按多个条件查找:select id from tablename where id =XX and name = XX
    6.  条件中含有特定字符串的查找:select id from tablename where name like '%XX%'

    (4)简单的where条件

    1. = 等于
    2. > 大于
    3. < 小于
    4. >= 大于等于
    5. <= 小于等于
    6. <> 不等于
    7. !> 不大于
    8. %匹配的字符串% 匹配字符串

    3、在IOS开发中使用FMDB

    FMDB 是一个开源的第三方框架。

    FMDatabase -表示一个单独的数据库,用来执行SQLite的命令。

    FMResultSet -表示FMDatabase执行之后,返回的结果集。

    FMDatabaseQuere-是在多线程的时候,使用这个类。

    (1)导入FMDB

    直接加载到项目中,并加上sqlite3.dylib的二进制库(查找sqlite)。

    在需要的文件中,加上头文件 #import "FMDatabase.h"

    (2)创建并打开数据库

     NSString *path = [[NSBundle mainBundle ] pathForResource:@"data.sqlite" ofType:nil];
        _database = [[FMDatabase alloc] initWithPath:path];
        if (!_database.open) {
            NSLog(@"打开失败");
        }else{
             NSLog(@"成功");
        }

    (3)查询操作,并得到返回集

      NSString *sql = @"select * from firstlevel";
                   FMResultSet *resultset = [_database executeQuery:sql];
        
        NSMutableArray *mArray = [[NSMutableArray alloc] init];
        
        while ([resultset next]) {
           Model *model = [[Model alloc] init];
           model.id = [resultset stringForColumn:@"id"];
           model.name = [resultset stringForColumn:@"name"];
            [mArray addObject:model];
    }

    结语:天天加油。。。。。。

  • 相关阅读:
    Centos7重置Mysql 8.0.1 root 密码
    MysQL使用一高级应用(下)
    MysQL使用一高级应用(上)
    MysQL使用一查询
    MysQL使用一创建库与表
    OSI七层协议模型、TCP/IP四层模型学习笔记
    python-作用域和装饰器
    python-正则表达式RE
    python-高阶函数和闭包
    python-内置函数及捕获异常
  • 原文地址:https://www.cnblogs.com/jiangmz/p/4389264.html
Copyright © 2011-2022 走看看