连接数据库
如果配置了从数据库,增删改默认使用主数据库,查默认使用从数据库。
所有数据库操作均采用链式方法。
$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();
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
where | string | 否 | 查询条件 a = 1 AND b = 2 |
order | string | 否 | 排序 id DESC, order_no ASC |
bind | array | 否 | 参数绑定 |
setkey | string | 否 | 修改输出数组的键为指定key键的值 |
fields | string | 否 | 默认为*,SUM(pay) as total |
limit | string|array | 是 | string/10:获取10条数据;array/[0,10]:获取第0-10条数据 |
assign
| string | 否 | 操作数据库,主master、从slave
|
update - 改
$mysql->table()->data()->where()->bind()->math()->update();
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
data | array | 是 | 需要更新的数据数组 如 ["views" => 2] |
where | string | 否 | 查询条件 a = 1 AND b = 2 |
bind | array | 否 | 参数绑定 |
math | array | 否 | 更新数据库时的计算操作 如 ["views" => "+"] 代表给views增加上边data的2 |
assign
| string | 否 | 操作数据库,主master、从slave
|
insert - 增
$mysql->table()->data()->bind()->insert();
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
data | array | 是 | 数据数组,支持多条数据同时新增 |
bind | array | 否 | 参数绑定 |
assign
| string | 否 | 操作数据库,主master、从slave
|
delete - 删
$mysql->table()->where()->bind()->delete();
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
where | string | 是 | 查询条件 a = 1 AND b = 2 |
bind | array | 否 | 参数绑定 |
assign
| string | 否 | 操作数据库,主master、从slave
|
query - 自定义语句
$mysql->assign("master")->query($sql);
// $query 为完整的Mysql语句
// $assign 非必填,主master、从slave
counter - 获取条数
$mysql->table()->where()->bind()->fields()->count();
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
where | string | 否 | 查询条件 a = 1 AND b = 2 |
bind | array | 否 | 参数绑定 |
fields | string | 否 | 默认为 COUNT(*)
|
assign
| string | 否 | 操作数据库,主master、从slave
|
total - 统计字段值
$mysql->table()->where()->order()->bind()->fields()->limit()->total();
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
where | string | 否 | 查询条件 a = 1 AND b = 2 |
order | string | 否 | 排序 id DESC, order_no ASC |
bind | array | 否 | 参数绑定 |
fields | string | 是 | 支持SUM、COUNT、AVG、MAX、MIN |
limit | string|array | 否 | string/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();