常用函数( CURD等 )
如果是在模型里面,可以使用 例如 $this-m->add()

add($data) 增加数据

功能 :向数据表内写入数据。

参数 :数值形式的数据对象(键名称对应数据表的字段名)
返回 :写入数据对应的主键数据值
说明 :插入数据后还可以使用 db对象 的 lastInsertId() 方法获取插入的主键值

示例 : 

<?php
class testController extends grace{
    public function index(){
        $db   = \db('students');
        $data = array(
            'st_classid' => 3,
            'st_name'    => '小美',
            'st_age'     => 6,
            'st_addtime' => time()       );
        $res = $db->add($data);
        echo '刚刚执行的 Sql : '. $db->getSql().'<br />';
        if($res){
            echo '执行成功';
            echo $db->lastInsertId(); // 与 $res 等值
        }else{
            echo '错误 : '. $res->error();
        }
    }
}

getSql() 获取执行的sql命令

功能 :获取最近一次执行的操作命令
参数 :无
返回 :最近一次执行的操作命令

设置条件 where($where, $whereData)

功能 :设置sql条件(预处理机制)
参数 :1、条件(使用 ? 作为占位符)2、条件占位符对应的数值(数组格式)
返回 :   数据操作对象,可以进行连贯操作
演示 (一般是配合其他语句搭配使用) 

$db->where('st_id = ? and st_name = ?', array(6, 'test'))

delete() 删除数据

功能 :删除一条或者多条符合条件的数据
参数 :无
返回 :true / false
示例代码

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $res = $db->where('st_id = ?', array(6))->delete();
        p($res);
    }
}

update() 更新数据

功能 :更新符合条件的数据
参数 :更新数据(数组格式,键名称对应数据表的字段名)  
返回 :true / false
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $data = array('st_name' => '更新名称', 'st_agoe' => 7);
        $res = $db->where('st_id = ?', array(6))->update($data);
        p($res,2);
    }
}

field() 指定字段的递加或递减

功能 :对指定字段进行递加递减
参数 :1、字段名称 2、递加值 (正数递加,负数递减)
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $res  = $db->where('st_id = ?', array(2))->field('st_age', 1);
        p($res,2);
    }
}

fetch() 单条数据查询

功能 :获取单条数据
参数 :查询字段(可省参数,默认 *)
返回 :查询成功返回数组形式的数据,失败返回空(可以使用empty函数判断)
说明 :可以配合条件、排序、limit等方法进行查询
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $res  = $db->where('st_id = ?', array(2))->fetch('st_id, st_name, st_age');
        p($res,2); 
    }
}

fetchAll() 多条数据查询

功能 :获取多条数据
参数 :查询字段(可省参数,默认 *)
返回 :查询成功返回数组形式的数据,失败返回空(可以使用empty函数判断)
说明 :可以配合条件、排序、limit分页等方法进行查询
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $res  = $db
                ->where('st_id >= ?', array(2))
                ->limit(0,10)
                ->fetchAll('st_id, st_name, st_age');
        p($res,2);
    }
}

order() 查询排序

功能 :设置排序规则
参数 :排序规则
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $res  = $db
                ->where('st_id >= ?', array(2))
                ->limit(0,10)
                ->order('st_id desc')
                ->fetchAll('st_id, st_name, st_age');
        p($res,2);
    }
}

limit($start, $num) 查询数据截取

功能 :设置limit,截取数据
参数 :1、起始位置, 2、数据条目数
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $res  = $db
                ->where('st_id >= ?', array(2))
                ->limit(0,2)
                ->order('st_id desc')
                ->fetchAll('st_id, st_name, st_age');
        p($res,2);
    }
}

group() 数据分组

功能 :设置数据分组
参数 :分组规则
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $res  = $db->group('st_classid')->fetchAll();
        p($res);
    }
}

或者

//原始语句
select count('a.*'),  b.class_name from persons as a left join classes as b on a.classid = b.id group by a.classid ;
//代码实现:
$res = $this->db
        ->join('as a left join '.sc('db', 'pre').'classes as b on a.classid = b.id')
        ->group('a.classid')
        ->fetchAll("count('a.*') as total, b.class_name");
echo $this->db->getSql().'--';
print_r($res);

query($sql, $execute) 执行自定义的sql

功能 :执行自定义的 sql
参数 :1、sql命令(如果有条件推荐使用展位符 ?), 2、占位符对应的数据(可省参数,sql命令包含占位符时传递)
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $res  = $db->query('delete from grace_students where st_id = ?', array(2));
        p($res,true);
    }
}

queryFetch 和 queryFetchAll()

功能 :执功能:使用query()函数查询数据时后续的查询函数,queryFetch() 用于单条数据,queryFetchAll()用于多条数据。
参数 :无
返回 :对应的数据(数组形式)
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $db->query('select * from grace_students where st_id > ? order by st_id desc limit 0,10', array(2));
        $res  = $db->fetchAll();
        p($res,true);
    }
}

使用join() 完成多表联合

此处只是简单介绍,更多的可以参考join多表联合章节有详细介绍

参数:联合语句
示例表 classes 表结构

字段类型长度
id
int10
class_name
varchar20
<?php    
class indexController extends grace{
    public $tableName = 'persons';
    public function index(){
        $arr =  $this->db
                     ->join('as a left join '.sc('db','pre').'classes as b on a.classid = b.id')
                     ->fetchAll('a.*, b.class_name');
        p($arr);
    }
}

使用page()函数完成分页

参数: 每页数据条目数(可省参数,默认 10条)
返回:数组格式的查询数据 
格式:array(数据, 分页信息)
db->page(1)->fetchAll();
p($arr);

getDb() 获取原生的 pdo操作对象

功能 :获取底层 PDO 操作对象,可以基于 PDO 完成更多操作。
参数 :无
返回 :PDO 对象
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $pdo  =  $db->getDb();
        var_dump($pdo);
    }
}

rowCount()获取操作影响的数据条目数

功能 :获取操作影响的数据条目数。
参数 :无
返回 :整数形式的数值
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $data = array(
            'st_classid' => 3,
            'st_name'    => '小美',
            'st_age'     => 6,
            'st_addtime' => time()       );
        $res = $db->add($data);
        echo $db->rowCount();
    }
}

count() 获取数据条目总数

功能 :获取数据条目总数。
参数 :无
返回 :整数形式的数据条目数
示例 :

class indexController extends grace{
    public function index(){
        $db    = \db('students');
        $count =  $db->count();
        p($count);
    }
}

min() 计算指定字段的最小值

功能 :计算指定字段的最小值
参数 :字段名称
返回 :最小值
示例 :

class indexController extends grace{
    public function index(){
        $db  = \db('students');
        $min = $db->min('st_age');
        echo $min;
    }
}

max() 计算指定字段的最大值

功能 :计算指定字段的最大值
参数 :字段名称
返回 :最大值
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $max  = $db->max('st_age');
        echo $max;
    }
}

avg() 计算指定字段的平均值

功能 :计算指定字段的平均值
参数 :字段名称
返回 :平均值
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $avg  = $db->avg('st_age');
        echo $avg;
    }
}

sum() 计算指定字段的和

功能 :计算指定字段的和
参数 :字段名称
返回 :和
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $sum  = $db->sum('st_age');
        echo $sum;
    }
}

获取写入数据的主键值 lastInsertId()

$res =  $this->db->add(array('name' => 'grace', 'age' => 18, 'addtime' => 10585888, 'classid' => 1));
echo $this->db->lastInsertId();

mysqlV()获取数据库版本号

功能 :获取数据库版本号
参数 :无
返回 :数据库版本号
示例 :

$db   = \db('students');
echo $db->mysqlV();

desc() 表结构分析

功能 :表结构分析
参数 :无
返回 :数组形式的表结构
示例 :

class indexController extends grace{
    public function index(){
        $db   = \db('students');
        $desc = $db->desc();
        p($desc);
    }
}

error() 获取执行错误

功能 :获取最近一次执行sql命令产生的错误
参数 :无
返回 :错误信息

echo $this->db->error();

使用 debugSql 在控制台内输出执行的 sql

public function index(){
    $db = db('names');
    $db->fetchAll();
    // 在执行sql 后调用 debugSql 即可在控制台内输出刚刚执行的sql 命令
    $db->debugSql();
    $db->fetchAll("name");
    // 在执行sql 后调用 debugSql 即可在控制台内输出刚刚执行的sql 命令
    $db->debugSql();
}