Open Web Analytics/数据库访问

来自站长百科
跳转至: 导航、​ 搜索

Open Web Analytics | Open Web Analytics基本使用 | 站点追踪以及相关应用程序 | Open Web Analytics框架|Open Web Analytics扩展

OWAOWA通过owa_db来提供数据库的访问,owa_db是一个专门的数据库访问层,是一个具体的数据库连接和SQL查询语句构建的实现平台。owa_db的使用可以确保你的数据库查询可以正确的执行,不论你的数据库平台是MySQL,还是PostgreSQL等。

数据库访问对象[ ]

所有的数据库访问操作都是通过OWA的数据访问对象(DAO)来实现的。你可以通过coreAPI调用dbSingleton方法来取得DAO:

 $db = owa_coreAPI::dbSingleton();

构建SQL查询[ ]

owa_db为开发者提供了一种简单的方法,来构建跨平台的SQL查询语句,这些查询语句将会在OWA支持的所有不同的数据库平台中正确的被执行。owa_db使用了应该用来构建一个SQL查询的各个部分的方法。

SELECT[ ]

构建一个select查询,必须要有所要检索的表的名称这个参数:

$db->selectFrom('name_of_table');

而具体的你想查询的每一列的名称,则可以使用selectColumn方法:

$db->selectColumn('col');
$db->selectColumn('col2');
$db->selectColumn('count (col3)');
$db->selectColumn('sum (col4) as column_4');

WHERE[ ]

构建查询中的限制条件,即WHERE从句,需要使用到where方法。where方法会使用的表中某一列的名称(column_name)、值(value)、以及一个连接的操作符(默认的操作符是'='):

 $db->where('column_name', 'value');
 $db->where('column_name', 'value', '!=');

你也可以通过multiWhere方法来设置多个限制条件,例如:

 $constraints = array();
 $constraints['my_constraint'] = array('col2', 'value');
 $constraints['my_constraint'] = array('col3', 'value', '!=');
 $db->multiWhere($constraints);

GROUP BY[ ]

GROUP BY从句可以使用groupBy方法来添加:

  $db->groupBy('column_name');

ORDER BY[ ]

ORDER BY从句可以通过orderBy方法来添加:

  $db->orderBy('column_name');

ORDER[ ]

ORDER从句是利用order方法来添加的。通过两个常量值来实现降序排列(OWA_SQL_DESCENDING)和升序排列(OWA_SQL_ASCENDING):

 $db->order(OWA_SQL_DESCENDING);

LIMIT[ ]

LIMIT从句使用limit方法来添加,limit方法会用到数字值,这些数字值是代表你想在查询返回的结果中看到的结果行数:

 $db->limit(10);

OFFSET[ ]

OFFSET从句使用offset方法来添加。offset方法也使用一个数字值,表示返回结果的偏移限制;

 $db->offset(10);

执行这个查询[ ]

owa_db为SELECT查询提供了两种执行方式。

getAllRows方法用来执行会返回多行结果的查询:

 $db->getAllRows();

getOneRow方法是用来执行只返回一行结果的查询:

 $db->getOneRow();

INSERT[ ]

  • 构建一个INSERT查询,首先需要明确给出insertInto方法将要插入数据的数据库表名称:
  $db->insertInto('table_name');
  • 现在使用set方法来设置具体想要插入的列(属性)的名称以及对应的值:
  $db->set('name', 'value');
  • 执行这个查询,使用executeQuery方法:
$ret = $db->executeQuery();

if ($ret == true) {
     $this->debug('Query executed successfully');
} else {
     $this->debug('Query did not execute successfully');
}

UPDATE[ ]

  • 构造UPDATE(更新)查询,首先是明确给出updateTable方法将要操作的数据库表的名称:
 $db->updateTable('table_name');
  • 设置具体需要更新的属性名以及值:
 $db->set('name', 'value');
  • 使用executeQuery方法来执行这个语句:
$ret = $db->executeQuery();

if ($ret == true) {
     $this->debug('Query executed successfully');
} else {
     $this->debug('Query did not execute successfully');
}

参考来源[ ]


Open Web Analytics使用手册导航

Open Web Analytics基本使用

环境配置 | 安装 | 升级 | WordPress整合 | MediaWiki整合

站点追踪以及相关应用程序

Javascript Tracker | PHP Tracker| 广告活动追踪 | 电子商务追踪 | 转换追踪 | 行为追踪

Open Web Analytics框架

框架概述 | 追踪管道 |事件处理器 | 数据库模式 | 角色与权限

Open Web Analytics扩展

数据访问API | 模块创建 | 过滤器hooks | 事件hooks | 实体 | 数据库访问 |数据库模式更新器创建 | Metrics and Dimensions | Metrics创建 | 配置