数据库的使用,FMDB





[plain]  view plain copy
  1. //获取沙盒Document目录方法  
  2. NSArray * arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
  3. NSString * path = [arr objectAtIndex:0];  
  4.   
  5. //创建的数据库路径和名字  
  6. path = [path stringByAppendingPathComponent:@"Test.db"];  
  7. NSLog(@"path is %@...",path);  
  8.   
  9. //创建数据库  
  10. FMDatabase * dataBase = [FMDatabase databaseWithPath:path];  
  11. if (![dataBase open]) {  
  12.     NSLog(@"can not open dataBase!");  
  13.     return;  
  14. }  


创建表

[plain]  view plain copy
  1. [dataBase executeUpdate:@"CREATE TABLE if not exists User (Name text,Age integer,Height integer)"];  
插入记录
[plain]  view plain copy
  1. [dataBase executeUpdate:@"INSERT INTO User (Name,Age) VALUES (?,?)",@"张三01",[NSNumber numberWithInt:20]];  
更新操作
[plain]  view plain copy
  1. BOOL flag = [dataBase executeUpdate:@"UPDATE User SET Name=? WHERE Name=?",@"张三222",@"张三01"];  

查询操作,并通过next方法对结果集进行遍历

[plain]  view plain copy
  1. FMResultSet * rs = [dataBase executeQuery:@"select * from user"];  
  2.       
  3.     while ([rs next]) {  
  4.         NSLog(@"name is %@ Age is %d.",[rs stringForColumn:@"Name"],[rs intForColumn:@"Age"]);  
  5.     }  
清空表内容
[plain]  view plain copy
  1. [dataBase executeUpdate:@"DELETE FROM User"];  
删除表
[plain]  view plain copy
  1. [dataBase executeUpdate:@"DROP TABLE User"];  
删除符合条件的记录
[plain]  view plain copy
  1. [dataBase executeUpdate:@"DELETE  FROM User WHERE Name = ?",@"张三"];  
关闭数据库
[plain]  view plain copy
  1. [dataBase close];  

一些常用的sql语句操作

简单基本的sql语句

(1) 数据记录筛选:

sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
  
sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"
  
sql="select top 10 * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
  
sql="select top 10 * from 数据表 order by 字段名 [desc]"
  
sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"
  
sql="select * from 数据表 where 字段名 between 值1 and 值2"


(2) 更新数据记录:
  
sql="update 数据表 set 字段名=字段值 where 条件表达式"
  
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
  

(3) 删除数据记录:
  
sql="delete from 数据表 where 条件表达式"
  
sql="delete from 数据表" (将数据表所有记录删除)
  
(4) 添加数据记录:
  
sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
  
sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
  
(5) 数据记录统计函数:
  
AVG(字段名) 得出一个表格栏平均值
  
COUNT(*;字段名) 对数据行数的统计或对某一栏有值的数据行数统计
  
MAX(字段名) 取得一个表格栏最大的值
  
MIN(字段名) 取得一个表格栏最小的值
  
SUM(字段名) 把数据栏的值相加
  
引用以上函数的方法:
  
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
  
//set rs=conn.excute(sql)
  
用 rs("别名") 获取统计的值,其它函数运用同上。
  
查询去除重复值:select distinct * from table1
  
(6) 数据表的建立和删除:
  CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )


    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值