类名称:
STable,通用表类
功能:
对表操作进行封装
使用说明:
开发人员进行对象化
依赖:
STableBase提供表的基本操作
STableCached对表操作及结果进行缓存
STable增强访问能力
STableHook为表对象增加钩子功能
SConfig读取数据库配置
SRow有些查询操作返回行对象
SResult有些查询操作返回结果集对象
getInstance($alias, $fileCache = false)
静态化,工厂方法
创建一个表对象
开发人员常用形式: table(表名)
query($sql)
以SQL语句发起查询操作,将父类查询结果实例为SResult对象
queryHandle(SStatement $statement)
返回查询语句句柄,不需要事先读取全部数据,最节省内存
queryFastHandle($sql)
快速版查询,不记录日志,返回句柄
queryFast($sql)
快速版查询,只记录操作日志,不记录结果日志
queryRaw($sql)
原始查询,不构造Result对象
execute($sql)
允许指定是否使用缓存,默认是使用缓存
executeFast($sql)
快速版执行,不记录日志
exist($where = false)
判断是否存在满足条件的记录
notExist($where = false)
判断是否不存在满足条件的记录
select($field = null,$where = null, $order= null, $limit = null)
查询,返回二维数组,将父类查询结果实例为SResult对象
selectHandle($fields = null,$where = null, $orderBy= null, $limit = null)
返回查询句柄
col($fields, $where = null, $orderby= null, $limit = null)
获取一列数据
row($fields = null,$where = null, $orderBy= null)
获取一行数据
get($fields, $where = null, $orderBy= null)
获取一个值
getInt($fields = null,$where = null, $orderBy= null)
获取一个整数
getId($where, $orderBy = null)
获取满足条件的记录的ID值
getFloat($fields = null,$where = null, $orderBy= null)
获取一个浮点数
count($where = null)
统计满足条件的记录数
sum($field, $where = null)
累加指定字段
increase($fields, $where, $diff = 1)
对指定字段进行加一操作
decrease($fields, $where, $diff = 1)
对指定字段进行减一操作
update($row, $where = null)
修改表中的部分数据
replace($row)
对应MYSQL的REPLACE语句,有则修改,无则插入
insert(array $row)
单行插入
inserts(array $rows)
多行插入
insertIgnore($row)
无则插入,有则忽略
delete($where)
删除表中的部分数据
deleteAll()
删除表中全部数据
insertFast(array $row)
快速 版插入(不记录日志,不记录调试)
name()
获取当前表的名称
alias()
获取当前表的别名
sql($fields = null,$where = null, $orderBy= null, $limit = null)
返回一条SQL语句
disableCache()
临时禁止缓存,只禁止一次
锁操作:
lock($level = 'write'):对表进行写锁定(或指定读锁)
unlock():解除表锁
事务操作:
begin():事务开始,自动解除自动提交
commit():事务提交
rollback():事务回滚
注册钩子
hookBeforeInsert(callable $callback)
hookAfterInsert(callable $callback)
hookBeforeUpdate(callable $callback)
hookAfterUpdate(callable $callback)
hookBeforeDelete(callable $callback)
hookAfterDelete(callable $callback)
hookBeforeCrease(callable $callback)
hookAfterCrease(callable $callback)
hookBeforeExecute(callable $callback)
hookAfterExecute(callable $callback)
hookBeforeQuery(callable $callback)
hookAfterQuery(callable $callback)
hookBeforeSelect(callable $callback)
hookAfterSelect(callable $callback)
设置表查询/操作条件,支持链式操作
distinct()
fields($fields)
where($where)
orderBy($orderBy)
groupBy($groupBy)
having($having)
limit($limit)
以下是元操作
showTables():获取当前数据库中所有表名
databaseInfo():获取默认数据库的信息
tablesStatus(): 获取默认数据库的全部表的详细信息
getForeignKey($name = false):获取指定字段的外键信息(哪个表,哪个字段)
escape($str):转义
markField($field):调用相应数据库的类,对字段名处理
createFields($fields):调用相应数据库的类,对字段列表处理
getPrimaryKey():获取表的主键(字段名)
meta($name = ''):获取表结构