资源描述:
《用“万能数据库查询分析器”对 sqlite 进行测评》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用“万能数据库查询分析器”测试SQLite对4大SQL精髓语句的支持马根峰(广东联合电子收费股份有限公司,广州510300)作者博客:CSDN博客:http://blog.csdn.net/magenfeng新浪博客:http://blog.sina.com.cn/magenfengQQ空间:http://user.qzone.qq.com/630414817/main#!0引言SQLite,是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,比如现在最常见的安卓Android系统中。在SQL(
2、StructuredQueryLanguage)语言DML中,有四大语句堪称其精髓部分,分别是CASEWHEN语句,LeftOuterJoin
3、LeftJoin
4、RightOuterJoin
5、RightJoin
6、InnerJoin语句,WITHAS语句,UNION、UNIONALL语句。本人分别在“软件开发高手须掌握的4大SQL精髓语句(一)”至“软件开发高手须掌握的4大SQL精髓语句(四)”、“软件开发高手须掌握的4大SQL精髓语句(综合篇)”5篇博文中进行了详细的阐述。本篇博文本人将用“万能数据库查询分析器”的中英文版本,
7、来测试一下SQLite对上述4大精髓SQL的支持情况,以及用“万能数据库查询分析器”将SQLite查询的结果灵活地用拷贝、导出EXCEL中,来方便用户的办公处理。1本例所用工具简单说明下面就以SQLite数据库为例,以“万能数据库查询分析器”中文版本《DB查询分析器》、英文版本《DBQueryAnalyzer》作为客户端工具来来演示4大SQL精髓语句的用法。之所以选择“万能数据库查询分析器”作为客户端工具,主要是因为,一方面,“万能数据库查询分析器”具有强大的功能、友好的操作界面、良好的操作性、跨越数据库平台。在《程序员》20
8、07第2期的“新产品&工具点评”部分,编辑“特别推荐”了“万能数据库查询分析器”发布。另一方面,截止到目前,中文版本《DB查询分析器》在国内最著名的软件下载网站“中关村在线”中下载量近9万次,位居整个数据库类排行谤中前20位。图百度上搜索“万能数据库查询分析器”结果超过300万条本例所用SQLite版本:3.37SQLiteODBC驱动程序版本:SQLite3.5.7ODBCdriver《DB查询分析器》版本:2.02《DBQueryAnalyzer》版本:2.020建立SQLite数据库的ODBC数据源mgf_sqlite8
9、《DB查询分析器》是通过ODBC数据源来访问各种数据库及EXCEL的,所以首先要建立要访问的数据库或EXCEL的ODBC数据源。如果您的主机上没有对应数据库的ODBC驱动程序,那您还要下载(通常该数据库厂家的官方网站上都提供有ODBC驱动程序下载)安装对应数据库的ODBC驱动程序,然后再建立相应的ODBC数据源。下图是用来创建ODBC数据源mgf_sqlite80“万能数据库查询分析器”中文版本《DB查询分析器》为例下面就以SQLite数据库为例,以“万能数据库查询分析器”中文版本《DB查询分析器》在WindowsXP上运行,
10、来作为客户端工具来来演示一下4大SQL精髓语句的使用。运行《DBQueryAnalyzer》,连接上数据源mgf_sqlite8,用户名与口令均为空,然后输入以下命令:SELECTAREANO,(casewhenAREANO=4405then'粤北区域'whenAREANO=4406then'粤东区域'end)asAreaname,ROADNO,ROADNAMEFROMTB_ROADWHEREAREANOIN(4405,4406);图1执行CaseWhen语句SELECTa.Areano,a.Areaname,b.roadno
11、,b.roadnameFROM(SELECT*FROMtb_areaWHEREAREANOIN(4402,4403,4405,4407))aLEFTJOIN(SELECT*FROMtb_roadWHEREAREANOIN(4405,4406))bONa.areano=b.areano;图2执行LeftJoin语句SELECTa.Areano,a.Areaname,b.roadno,b.roadnameFROM(SELECT*FROMtb_areaWHEREAREANOIN(4405))aRIGHTJOIN(SELECT*FRO
12、Mtb_roadWHEREAREANOIN(4405,4406))bONa.areano=b.areano;图3执行RightJoin语句,表明SQLite不支持RightJoin语句SELECTa.Areano,a.Areaname,b.roadno,b.roadnameF