iOS 使用FMDB对本地的.db数据进行查询

iOS 使用FMDB对本地的.db数据进行查询,第1张

/

  @author fangbmian, 16-03-18 10:03:50

  获取本地品牌数据

/

NSString dbFilePath = [[NSBundle mainBundle] pathForResource:@"name" ofType:@"db"];

if (!dbFilePath) return;

carBrandList = [NSMutableArray new];

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{

queue = [FMDatabaseQueue databaseQueueWithPath:dbFilePath];

[queue inDatabase:^(FMDatabase db)

{

FMResultSet rs = [db executeQuery:@"select distinct CAR_BRAND,CAR_BRAND_LOGO from CAR_VEHICLE"];

while([rs next])

{

CarBrandInfoBean info = [CarBrandInfoBean new];

infocarBrand = [rs stringForColumn:@"CAR_BRAND"];

infocarBrandLogo = [rs stringForColumn:@"CAR_BRAND_LOGO"];

[carBrandList addObject:info];

}

}];

});

/

  @author fangbmian, 16-03-17 13:03:01

  item被点击

  @param brandName 品牌名称

/

-(void)didClickItem:(NSString)brandName

{

if (!queue) return;

NSMutableArray carList = [NSMutableArray new];

[queue inDatabase:^(FMDatabase db)

{

NSString sql = [NSString stringWithFormat:@"select CAR_BRAND,CAR_SERIES,CAR_YEAR,CAR_TYPE,CAR_GAS,CAR_ID from CAR_VEHICLE where CAR_BRAND = \'%@\'", brandName];

FMResultSet rs = [db executeQuery:sql];

while([rs next])

{

CarInfoBean info = [CarInfoBean new];

infocarBrand = [rs stringForColumn:@"CAR_BRAND"];

infocarSeries = [rs stringForColumn:@"CAR_SERIES"];

infocarYear = [rs stringForColumn:@"CAR_YEAR"];

infocarType = [rs stringForColumn:@"CAR_TYPE"];

infocarGas = [rs stringForColumn:@"CAR_GAS"];

infocarTypeId = [rs stringForColumn:@"CAR_ID"];

[carList addObject:info];

}

}];

}

企业里常用的数据库软件有Mysql、PostgreSQL、Microsoft SQL Server、Oracle数据库、MongoDB。

1、Mysql。

MySQL原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被升阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购升阳微系统公司,MySQL成为Oracle旗下产品。

MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。

2、PostgreSQL。

PostgreSQL 可以说是目前功能最强大、特性最丰富和结构最复杂的开源数据库管理系统,其中有些特性甚至连商业数据库都不具备。这个起源于加州大学伯克利分校的数据库,现已成为一项国际开发项目,并且拥有广泛的用户群,尤其是在海外,目前国内使用者也越来越多。

PostgreSQL 基本上算是见证了整个数据库理论和技术的发展历程,由 UCB 计算机教授 Michael Stonebraker 于 1986 年创建。在此之前,Stonebraker 教授主导了关系数据库 Ingres 研究项目,88 年,提出了 Postgres 的第一个原型设计。

MySQL 号称是使用最广泛的开源数据库,而 PG 则被称为功能最强大的开源数据库。

3、Microsoft SQL Server。

SQL Server 是 Microsoft 开发的一个关系数据库管理系统(RDBMS),现在是世界上最为常用的数据库。SQL Server 现在是包括内置的商务智能工具,以及一系列的分析和报告工具,可以创建数据库、备份、复制、安全性更好以及更多。

SQL Server 是一个高度可扩展的产品,可以从一个单一的笔记本电脑上运行的任何东西或以高倍云服务器网络,或在两者之间任何东西。虽然说是“任何东西”,但是仍然要满足相关的软件和硬件的要求。

4、Oracle数据库。

Oracle数据库系统是美国Oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(Client/Server,C/S)或浏览器/服务器(Browser/Server,B/S)体系结构的数据库之一。

Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

5、MongoDB

mongoDB是一个介于关系数据库和非关系数据库之间的开源产品,是最接近于关系型数据库的NoSQL数据库。它在轻量级JSON交换基础之上进行了扩展,即称为BSON的方式来描述其无结构化的数据类型。尽管如此它同样可以存储较为复杂的数据类型。

参考资料来源:百度百科——Mysql

参考资料来源:百度百科——PostgreSQL

参考资料来源:百度百科——Microsoft SQL Server

参考资料来源:百度百科——Oracle数据库

参考资料来源:百度百科——MongoDB

sqlite3 xxdb

dbinfo

有时该命令报错

使用这个语句 pragma user_version;

下面我们看看sqlite到底有些有用的pragma命令,用到时再去研究:

auto_vacuum

automatic_index

cache_size

case_sensitive_like

checkpoint_fullfsync

collation_list

compile_options

count_changes¹

database_list

default_cache_size¹

empty_result_callbacks¹

encoding

foreign_key_list

foreign_keys

freelist_count

full_column_names¹

fullfsync

ignore_check_constraints

incremental_vacuum

index_info

index_list

integrity_check

journal_mode

journal_size_limit

legacy_file_format

locking_mode

max_page_count

page_count

page_size

parser_trace²

quick_check

read_uncommitted

recursive_triggers

reverse_unordered_selects

schema_version

secure_delete

short_column_names¹

synchronous

table_info

temp_store

temp_store_directory¹

user_version

vdbe_listing²

vdbe_trace²

wal_autocheckpoint

wal_checkpoint

writable_schema

这里边有几个标了右上标为1的,似乎已经被obsoleted掉了。标为2的,只被用于debug,仅当sqlite在预编译宏SQLITE_DEBUG下build出来,才有用。 

以上就是关于iOS 使用FMDB对本地的.db数据进行查询全部的内容,包括:iOS 使用FMDB对本地的.db数据进行查询、数据库软件都有那些、sqlite命令查看数据库当前版本号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10086853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存