第三方Mysql库

连接数据库

如果配置了从数据库,增删改默认使用主数据库,查默认使用从数据库。

所有数据库操作均采用链式方法

$mysql = new MYSQL([
    "host"    => "127.0.0.1",
    "port"    => 3306,
    "user"    => "账号",
    "pass"    => "密码",
    "name"    => "库名",
    "pre"     => "表前缀",
    "charset" => "数据库编码",
    "slave"   => [
        "host" => "",
        "..."
    ],
]);
// slave 为从数据库信息,如果不需要从数据库,不传此参数即可!

select - 查

// 查1条数据 select 里有个 1
$mysql->table()->where()->order()->bind()->fields()->select(1);

// 查多条数据
$mysql->table()->where()->order()->setkey()->bind()->fields()->limit([0, 10])->select();
字段字符类型必填说明
tablestring数据表名称,不含前缀
wherestring查询条件 a = 1 AND b = 2
orderstring排序 id DESC, order_no ASC
bindarray参数绑定
setkeystring修改输出数组的键为指定key键的值
fieldsstring默认为*,SUM(pay) as total
limitstring|arraystring/10:获取10条数据;array/[0,10]:获取第0-10条数据
assign
string操作数据库,主master、从slave

update - 改

$mysql->table()->data()->where()->bind()->math()->update();
字段字符类型必填说明
tablestring数据表名称,不含前缀
dataarray需要更新的数据数组 如 ["views" => 2]
wherestring查询条件 a = 1 AND b = 2
bindarray参数绑定
matharray更新数据库时的计算操作 如 ["views" => "+"] 代表给views增加上边data的2
assign
string操作数据库,主master、从slave

insert - 增

$mysql->table()->data()->bind()->insert();
字段字符类型必填说明
tablestring数据表名称,不含前缀
dataarray数据数组,支持多条数据同时新增
bindarray参数绑定
assign
string操作数据库,主master、从slave

delete - 删

$mysql->table()->where()->bind()->delete();
字段字符类型必填说明
tablestring数据表名称,不含前缀
wherestring查询条件 a = 1 AND b = 2
bindarray参数绑定
assign
string操作数据库,主master、从slave

query - 自定义语句

$mysql->assign("master")->query($sql);
// $query 为完整的Mysql语句
// $assign 非必填,主master、从slave

counter - 获取条数

$mysql->table()->where()->bind()->fields()->count();
字段字符类型必填说明
tablestring数据表名称,不含前缀
wherestring查询条件 a = 1 AND b = 2
bindarray参数绑定
fieldsstring默认为 COUNT(*)
assign
string操作数据库,主master、从slave

total - 统计字段值

$mysql->table()->where()->order()->bind()->fields()->limit()->total();
字段字符类型必填说明
tablestring数据表名称,不含前缀
wherestring查询条件 a = 1 AND b = 2
orderstring排序 id DESC, order_no ASC
bindarray参数绑定
fieldsstring支持SUM、COUNT、AVG、MAX、MIN
limitstring|arraystring/10:获取10条数据;array/[0,10]:获取第0-10条数据
assign
string操作数据库,主master、从slave

insert_id - 最后插入的数据ID

$mysql->insert_id();

affected_rows - 上一次操作的条数

$mysql->affected_rows();

error - 上一次操作错误信息

可以用来判断上一条数据表操作是否成功,失败会有返回错误信息,成功则返回空。

$mysql->error();

errno - 上一次操作错误编号

$mysql->errno();

事务操作

提交事务如果失败会自动回滚,无需另行操作。

//第一步:开启事务
$mysql->begin();

//第二步:你需要的sql操作
//$mysql->select();等等

//第三步:提交事务,return true or false
$mysql->commit();

//如果mysql语句中有错误,提交事务时会自动回滚,如果是其中方法有错误,需要手动回滚
$mysql->rollback();
大纲