• 数据库


    数据库

    2. MesaAQlite使用

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

                学号 sid    用户名 useername    密码  password       分数score

                     1501             zhangsan                     1234                    100

                     1503             lisi                               2341                     90

                     1502             wanglaowu                  3412                     80

    (1)创建数据库

    (2)创建数据表

    (3)设计数据表(添加多个段/列)

    (4)数据库的常用操作:增,删,查,改

    3. SQL结构化查询语句

    SQL,Stucture,Query Language,结构化查询语言,作用是操作数据库(创建表,对数据库,增,删,改,查)

    (1)创建数据表

    create table if not exists StuInfo (sid integer,usernamevarchar(20),password varchar(20),score varchar(20) )

    (2)插入数据

    insert into StuInfo (sid,username,password,score)values(1501,'zhangsan','1234','100’)

    insert into StuInfo (sid,username,password,score)values(1502,'lisi','2341','90');

    insert into StuInfo (sid,username,password,score)values(1503,'wanglaowu','3412','80')

    (3)查询数据

    <1>查询表格中所有数据  

    select * from StuInfo

    <2>查询指定的字段

    select username from StuInfo

    <3>根据指定的条件进行查询

    select *from StuInfo where score='80'

    <4>根据多个条件进行查询

    select *from StuInfo where password='1234' and score='100' 

    <5>查询后需要排序

    select *from StuInfo order by score

    //根据age升序排列

    select *from StuInfo order by score desc

    <6>获取数据行数

    select count(*) from StuInfo

    (4)修改数据

    update StuInfo set score='10' where password ='1234’;

    (5)删除数据

    delete from StuInfo where password='1234';

     

     

     4.FMDB 第三方开源数据库

    (1)配置

    导入文件,添加二进制库 libsqlite3.dylib

    包含头文件#import "FMDatabase.h"

    5. 数据库在项目中使用-单例设计模式

    #import "QFViewController.h"
    #import "FMDatabase.h"
    @interface QFViewController ()
    //定义一个数据库对象
    {
        FMDatabase *_database;
    }
    @end
    
    @implementation QFViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    //    (1)创建数据库
        [self createAndInitDataBase];
    //    (2)创建数据表
        [self createTable];
    //    (3)插入数据
        [self insertData];
    //    (4)查询数据
        [self queryData];
    //    (5)修改和删除数据
    }
    -(void)createAndInitDataBase
    {
        
    //    ios安全机制 沙盒
    //    (1)每个应用都在自己的沙盒目录下运行
    //    (2)每个应用只能对自己沙盒下地文件进行操作
    //    (3)默认文件夹 Documents,Library,tmp
    //     确定文件位置
    //    当前应用文件夹:NSHomeDirectory()
        
    //    NSLog(@"home=%@",NSHomeDirectory());
    //    NSLog(@"%@",[[NSFileManager defaultManager]contentsOfDirectoryAtPath:NSHomeDirectory() error:nil]);
    //    设置路径
        NSString *path=[NSString stringWithFormat:@"%@/Documents/StuIfo.sqlite",NSHomeDirectory()];
        _database=[[FMDatabase alloc]initWithPath:path];
        if(!_database.open)
        {
            NSLog(@"打开失败");
            return;
        }
        NSLog(@"打开成功");
    }
    
    -(void)createTable
    {
        NSString *sql=@"create table  if not exists "//冒号前必须有空格
        
            "StuIfo(sid integer,username varchar(20),password varchar(20),score varchar(20))";
        
    //    excutequery用来执行select语句
    //    其他语句使用executeUpdate
        
        BOOL b=[_database executeUpdate:sql];
        NSLog(@"create b=%d",b);
        
    }
    
    -(void)insertData
    {
        int sid=1501;
        NSString *username=@"zhangsan";
        NSString *password=@"123";
        NSString *score=@"100";
        NSString *sql=@"insert into StuIfo(sid,username,password,score) values(?,?,?,?)";
    //    注意:对应的每一个参数都应该是字符串,其他类型须转化为字符串
        BOOL b=[_database executeUpdate:sql,[NSString stringWithFormat:@"%d",sid],username,password,score];//sql的所有参数必须是字符串
        NSLog(@"%d",b);
    }
    
    -(void)queryData
    {
    //    显示所有人得数据
         NSString *sql=@"select * from StuIfo";
    //    表示查询后的结果集
        FMResultSet *resultset=[_database executeQuery:sql];
    //    next方法每次获取一条记录,获取不到返回nil
        while ([resultset next]) {
            NSLog(@"sid=%@,name=%@,pass=%@,score=%@",
                  [resultset stringForColumn:@"sid"],
                  [resultset stringForColumn:@"username"],
                  [resultset stringForColumn:@"score"],
                  [resultset stringForColumn:@"password"]);
        }
        
    }
  • 相关阅读:
    【Swift】图文混排,ios开发中在textfield或textView中插入图片
    ios开发-指纹识别
    ios开发-程序压后台后,悄悄的抓取数据~~
    setNeedDisplay和setNeedsLayout
    rangeOfString用法
    NSThread的使用
    UIActivityIndicatorView的详细使用
    iOS高斯模糊处理
    HIbernate学习笔记(一) 了解hibernate并搭建环境建立第一个hello world程序
    Hibernate4搭建Log4J日志管理(附Log4j.properties配置详解)
  • 原文地址:https://www.cnblogs.com/tianlugesanghua/p/4389352.html
Copyright © 2020-2023  润新知