下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
无限互联是国内唯一一家专注于 和iPad软件开发培训机构,到目前为止为各大公司输送了一大批优秀的iOS高级软件研发人才。随着iOS6系统的发布,布整的iOS开发的,手把您写代码,从入门到熟练再到精通。最好的肯定,也是我们前进的最动力,我们感谢的努力,感谢对我们的支持!我们也将免费为提供最好的就业后的技术支持!,的高薪就业才是我们最大的成功:无限互联3G学院
第十九课数据主讲::无限互联3G学院本节内数据库介·掌握基础的SQL语句对数据的增删改查·封 数据库管理EGODatabase开源框架的使:无限互联3G学院数据持久·数据持久化是通过文件将数 在磁盘·iOS下主要有四种数据持久化方式·属性列表(name)·对象归数据CoreData·持久化方式的对属性列表、对象归档适合小数据 和查询操、CoreData适合大数据 和查询操:无限互联3G学院数据库介·数据库(Database)是按照数据结构来组织 和管理数据的仓·数据库管理系统是一 和管理数据库的大型软件,用于建立、使用 数库,常见的关系数据库管理系统有:Oracle、MSSQLServer、DB2、MySQL:无限互联3G学院网络数据客户服客户服务作
DB2…本地数据客客户:无限互联3G学院介绍·是一款轻型的数据库,是一种关系型数据库管理系统,它的设计目的是嵌入式·占用资源非常低,非常适合移动设备中使用,而且是开源免·第一个版本诞生于2000年5月,至今已经有10多个年头 也迎来了个版 3已经发布。它 :无限互联3G学院数据库的结:无限互联3G学院无限互联是国内唯一一家专注于 和iPad软件开发培训机构,到目前为止为各大公司输送了一大批优秀的iOS高级软件研发人才。随着iOS6系统的发布,布整的iOS开发的,手把您写代码,从入门到熟练再到精通。最好的肯定,也是我们前进的最动力,我们感谢的努力,感谢对我们的支持!我们也将免费为提供最好的就业后的技术支持!,的高薪就业才是我们最大的成功:无限互联3G学院SQL语句·数据定义语言(DDL:DataDefinitionLanguage)·其语句包括动词CREATE和DROP·创建表、删除·数据操作语言(DML:DataManipulationLanguage)·其语句包括INSERT,UPDATE和DELETE,它们分别用于添加,修改和删除中的·数据查询语言(DQL:DataQueryLanguage)·其语句包括SELECT用于查询数:无限互联3G学院DDL语句CREATETABLE表名(字段名1字段类型1,字段名2字段类型2,CREATETABLEifnotexists表名(字段名1字段类型1,字段名2字段类型createtable (idinteger,nametext,age删droptable表名droptable ·将数据值 NULLNULLINTEGERREALTEXTBLOB(比如文件
3mydatabase.:无限互联3G学院DML语句(name,age)values(‘jack’,(name,age)values(‘jack’,注意:数据库中的字符串内容应该用单引号’括举例:insertinto语法:insertinto表名(字段1,字段2,values(字段1的值字段2的值举例:update set举例:update setname=‘jack’,age=注意:这里会将 表中所有记录的name都改为jack,age都改为语法:update表 set字段1=字段1的值,字段2=字段2的值,…语法:deletefrom表名语法:deletefrom表名举例:deletefrom 注意:这里会将 表中所有记录都删 :无限互联3G学院条件DML语句·如果只想更新或者删除某些固定的记录,那就必须在DML语句后加上一些条件·条件语句的格式如1
大于10
不等于jack的记
都改为update2、删
setage=5whereage>10andname!=小于等于10或 大于30的记where字段where字段某个值and字段某个值;where字段某个值or字段某个值and相当于or相当于
whereage<=10orage>:无限互联3G学院DQL语句·DQL语句就是查询语句,格式如下1、查询格select字段1,字段2,from表名selectname,agefromselect*from表名;select*from 3、也可以添加条件select*from whereage>selectcount(*)fromt_ selectcount(age)from whereheight<:无限互联3G学院·排序语
查询排1、查询出来的结果可以用orderby进行排语法:select*fromt_ orderby字段;示例:select*fromt_ orderbyage;2、默认是按照升序排序(由小到大),也可以变为降序(由大到小示例:select*from orderbyagedesc;//降示例:select*from orderbyageasc;//升序(默认:无限互联3G学院select*from表select*from表示取最前面的7条记limit示例:select*from语法:select*from表 limit数值1,数值limitlimit4,以上语法:跳过最前面4条语句,然后取8条记·limit常用来做分页查询,比如每页固定显示6条数据,那么每一页应该这样取数据第10,第26,第312,…第n6*(2-6:无限互联3G学院无限互联是国内唯一一家专注于 和iPad软件开发培训机构,到目前为止为各大公司输送了一大批优秀的iOS高级软件研发人才。随着iOS6系统的发布,布整的iOS开发的,手把您写代码,从入门到熟练再到精通。最好的肯定,也是我们前进的最动力,我们感谢的努力,感谢对我们的支持!我们也将免费为提供最好的就业后的技术支持!,的高薪就业才是我们最大的成功:无限互联3G学院简单约·建表的时候可以给特定的字段设置一些约束条·用notnull指定字段的值不能为·用unique指定字段的值必须唯·用default指定字段CREATECREATETABLEt_student(idinteger,nametextNOTNULLageintegerNOTNULLDEFAULT:无限互联3G学院主键约束(PK) 中有些记录的name属性和age属性都一样时,那么就没法区分这些数据,·良好的数据库编程规范应该是要保证每条记录的唯一性,为此,增加了主键约·主键是用来唯一地标识某一条记录的,可以是一个字段或多个字段,比如 以增加一个id字段作为主也也不要更新3、主键不应包含动4、主键应当由计算机自动生2*主键的设计原则1、主键应当是对用:无限互联3G学院主键约束(PK)·在创表的时候用primary 一个主·只 为primarykey,就说明是一个主键字段,主键字段默认就包含了notnulluniqueCREATECREATETABLEt_student(idintegerPRIMARYKEY,nametext,age如如果想要让主键自动增长(integer类型),应该增加CREATETABLEt_student(idintegerPRIMARYKEYAUTOINCREMENT,nametext,ageinteger);:无限互联3G学院无限互联是国内唯一一家专注于 和iPad软件开发培训机构,到目前为止为各大公司输送了一大批优秀的iOS高级软件研发人才。随着iOS6系统的发布,布整的iOS开发的,手把您写代码,从入门到熟练再到精通。最好的肯定,也是我们前进的最动力,我们感谢的努力,感谢对我们的支持!我们也将免费为提供最好的就业后的技术支持!,的高薪就业才是我们最大的成功:无限互联3G学院数据库操作流 版本是3.0,使用前需要导入 ·操作数据库的流·打开数据·编译SQL语句·执行SQL语句·语句完·关闭数据:无限互联3G学院常用函数·3.0使用的是C的函数接口,常用函数如下: //打开数据 //关闭数据 //执行sql语句,内部包括(prepare、 3_column_text()//查询字段上的数据:无限互联3G学院创建数据库3 =//数据库路NSString*filePath=[NSHomeDirectory() //打开数据intresult 3_open([filePathUTF8String], if(result!= _OKreturnNO;}//创建表的SQLNSString*sql=@"CREATETABLEUserTable(userIdtextNOTNULLPRIMARYUNIQUE,userNametext,agechar//执行SQLresult ,[sqlUTF8String],NULL,NULL,if(result _OK)NSLog(@"创建数据库失败return}//关闭数据 :无限互联3G学院插入数3* =nil;3_stmt*stmt=nil;//数据库路NSString*filePath=[NSHomeDirectory() //打开数据intresult if(result!= _OKreturnNO;}//创建表的SQLNSString*sql=@"INSERTINTOUserTable(userId,userName,age)VALUES//编译SQL ,[sqlUTF8String],-1,&stmt,NSString*userId=@"1002";NSString*userName=@" intage=3;//往SQL中填充数3_bind_text(stmt,1,[userIdUTF8String],-1,3_bind_text(stmt,2,[userNameUTF8String],-1,:无限互联3G学院插入数////执行SQLresultresult_ERROR||_ERROR||resultNSLog(@"执行SQL语句失败returnif(result_MISUSE)}}////关//关闭数据:无限互联3G学院查询数3 =3_stmt*stmt=//数据库路NSString*filePath=[NSHomeDirectory() //打开数据intresult if(result!= _OKreturnNO;}//创建表的SQLNSString*sql=@"SELECTuserId,userName,ageFROMUserTableWHERE ,[sqlUTF8String],-1,&stmt,intage=1;//执行查询语result :无限互联3G学院查询数//循环遍历查询后的数据列while(result _ROW)//取出索引为0、1、2字段的数char*userid= char*username=(char*) intage= 3_column_int(stmt,2);//char转成NSString字符NSString*userId=[NSStringNSString*userName=[NSStringNSLog(@"----用户名:%@,用户 :%d---//游标移到下一条结果数result }//关闭数据库句//关闭数据 :无限互联3G学院实·使用数据库实现如下对用户的添加和修:无限互联3G学院附·数据库管理工具·客户 Manager manager/:无限互联3G学院 数据库的使NSString*packagePathNSString*packagePath=[[NSBundlemainBundle]pathForResource:@"DB" EGODatabase*database=[[EGODatabasealloc][database·EGODatabase不带参EGODatabaseResult*result=[databaseexecuteQuery:@"SELECT*FROM带参EGODatabaseResult*result=[databaseexecuteQuery:@"SELECT*FROMUserWHEREage>?"parameters:@[@"12"]];NSArray*rows=for(EGODatabaseRow*rowinrows)NSLog(@"userName:%@",[rowNSLog(@"age:%d",[row}:无限互联3G学院NSString*packagePath=NSString*packagePath=[[NSBundlemainBundle]pathForResource:@"Database" EGODatabase*database=[[EGODatabasealloc][database[databaseexecuteUpdate:@"INSERTINTOUser(name,age)VALUES(?,?);"parameters:@[@"WaHaHa",@(100)]];[database
数据库的使:无限互联3G学院·异步操作查
异步操作数据EGODatabase*database=[[EGODatabasealloc][database//2.定义SQLNSString*sql=@"SELECTuser_id,user_name,ageFROMEGODatabaseRequest*request=[databaserequestWithQuery:sql];[requestsetSuccessBlock:^(EGODatabaseResult*result){NSLog(@"查询操作完成NSMutableArray*userArray=[NSMutableArrayarray];for(inti=0;i<result.count;i++){UserModel*user=[[UserModelalloc]EGODatabaseRow*row=result.rows[i];user.userID=[rowstringForColumn:@"user_id"];user.username=[rowstringForC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 爆破员管理制度范文(2篇)
- 楼梯护栏租赁合同范例
- 租房十合同范例
- 特种圆钢销售合同模板
- 2024年度设备购买合同:某工厂生产设备购买3篇
- 2024无锡市家庭居室装饰装修施工合同目标
- 演出意向合同范例
- 快至当天出函的知识产权许可合同(04版)
- 2024年中学学生课外活动制度样本(2篇)
- 2024版特许经营区域代理合同
- 空竹活动总结
- (完整版)银行账户共管协议最新(精华版)
- 实验五鱼体测量及描述
- 金属线材反复弯曲试验记录
- Thebestjobintheworld
- 最终版加气机使用说明书
- 危险化学品重大危险源辨识(GB18218-2018)
- 水库移民工作存在的问题及对策水库建设移民问题
- 班级文化建设的实践与研究课题方案doc
- 中国电信光纤到户(FTTH)工程设计规范
- 有色金属选矿厂工艺设计规范
评论
0/150
提交评论