开发人员可以使用全局函数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对象 如果只提供field,则本方法退化为fields方法 |
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) |
SQL查询前 |
hookAfterQuery(callable $callback) |
SQL查询后 |
hookBeforeSelect(callable $callback) |
查询前 |
hookAfterSelect(callable $callback) |
查询后 |
设置表查询/操作条件,支持链式操作
distinct() |
设置DISTINCT查询 |
fields($fields) |
设置查询字段 |
where($where) |
设置搜索条件 |
orderBy($orderBy) |
设置排序 |
groupBy($groupBy) |
设置分组 |
having($having) |
设置分组后过滤条件 |
limit($limit) |
设置分页参数 |
join($join,$on=null) |
设置关联表 |
on($relation) |
设置关联条件 |
go() |
在设置前置条件后,开始执行查询 |
以下是元操作
showTables() |
获取当前数据库中所有表名 |
databaseInfo() |
获取默认数据库的信息 |
tablesStatus() |
获取默认数据库的全部表的详细信息 |
getForeignKey($name = false) |
获取指定字段的外键信息(哪个表,哪个字段) |
escape($str) |
转义 |
markField($field) |
调用相应数据库的类,对字段名处理 |
createFields($fields) |
调用相应数据库的类,对字段列表处理 |
getPrimaryKey() |
获取表的主键(字段名) |
meta($name = '') |
获取表结构 |