PHP 数据库操作 db_medoo v2.1.2


更新功能:

1.对数据库表添加、修改、删除追加action。

2.添加对表结构的返回值 

3.添加对FIND_IN_SET及RAW支持

数据库操作

 Medoo Version: 2.1.10 再封装,让操作更简单。

composer require thefunpower/db_medoo

$where条件

'user_name[REGEXP]' => '[a-z0-9]*'
'user_name[FIND_IN_SET]'=>(string)10
'user_name[RAW]' => '[a-z0-9]*'
$where = [
	//like查寻
	'product_num[~]' => 379, 
	//等于查寻
	'product_num' => 3669, 
	//大于查寻
	'id[>]' => 1,
	'id[>=]' => 1,
	'id[<]' => 1,
	'id[<=]' => 1,
]; 
$where = []; 
$where['OR'] = [
	'product_num[~]'=>379,
	'product_num[>]'=>366,
];
$where['LIMIT'] = 10;
$where['ORDER'] = ['id'=>'DESC']; 

where字段两个日期之间

字段是datetime类型

$date1 = '2022-11-01';
$date2 = '2022-12-14';
db_between_date($field,$date1,$date2)

where 两个月份之间

$date1 = '2022-11';
$date2 = '2022-12';
db_between_month($field,$date1,$date2

查寻一条记录

$res = db_get_one("products","*",$where);
$res = db_get_one("products",$where);

所有记录

$res = db_get("products","*",$where);
$res = db_get("products",$where);

分页

$res= db_pager("products","*",$where);

使用原生方法

原生方法将不会触发action

https://medoo.in/api/where

$res = db()->select("products",['id'],[]); 

查寻某个字段

$res= db_get("qr_rule","qr_num",['GROUP'=>'qr_num']);
print_r($res); 

写入记录

db_insert($table, $data = [],$don_run_action = false)

更新记录

db_update($table, $data = [], $where = [],$don_run_action = false)

取最小值

db_get_min($table, $join= "*", $column = null, $where = null)

其他一些如取最大值等

db_get_max
db_get_count
db_get_has
db_get_rand
db_get_sum
db_get_avg 

删除

db_del($table, $where)

action

写入记录前

do_action("db_insert.$table.before", $data);
do_action("db_save.$table.before", $data);

写入记录后

其中$data id  data

do_action("db_insert.$table.after", $action_data);
do_action("db_save.$table.after", $action_data);

更新记录前

do_action("db_update.$table.before", $data);
do_action("db_save.$table.before", $data);

更新记录后

其中$data id data where

do_action("db_update.$table.after", $action_data);
do_action("db_save.$table.after", $action_data); 
do_action("db_get_one.$table", $v); 

删除前

do_action("db_insert.$table.del", $where);

显示所有表名

show_tables($table)

取表中字段

get_table_fields($table, $has_key= true)

返回数据库允许的数据,传入其他字段自动忽略

db_allow($table, $data)

显示数据库表结构,支持markdown格式

database_tables($name = null, $show_markdown = false)

数组排序

array_order_by($row,$order,SORT_DESC);

判断是json数据

is_json($data)

SQL查寻

db_query($sql, $raw = null)
do_action("db_query", $all) 

其中$sqlselect * from table_name where user_id=:user_id

$raw  [':user_id'=>1]

事务

需要inner db支持

db_action(function()use($data)){

});

id锁

db_for_update($table,$id)

设置分页总记录数

db_pager_count($nums = null)

连表查寻

$data = db_pager("do_order",
["[><]do_mini_user" => ["uid" => "id"]],
[
"do_order.id",
"do_order.uid",
"user" => [
"do_mini_user.nickName",
"do_mini_user.avatarUrl",
"do_mini_user.openid",
]
],
$where);

db_get复杂查寻

$lists = db_get('do_order', [ 
'count' => 'COUNT(`id`)',
'total' => 'SUM(`total_fee`)',
'date'=> "FROM_UNIXTIME(`inserttime`, '%Y-%m-%d')"
], 

其他where条件请查看

https://medoo.in/api/where

License

The MIT License (MIT)


相關推薦

2023-07-09

R、ClickHouse、OceanBase 、PolarDB-X 、IBM Db2 等多种不同类型的数据库。通过 CloudDM 丰富的数据源支持可以避免在多个专业工具之间切换,从而提高工作效率。 它是本地化的应用程序,没有后台进程。和 DataGrip、Navicat 一样在安装完

2022-11-18

使用,不断的更新,更新频率也是越来越快,此次发版V2.1.2主要更新了以下内容: 1、【更新】修复阿里云上传文件地址返回错误,修复文件key构造错误 2、【更新】更新前端依赖,固定出错误的版本 3、【更新】接受一个PR -juni

2022-10-01

题; 4、新增批量删除功能,所有模块全部新增批量删除操作; 5、升级前端 JS 底层架构,匹配批量删除请求地址; 6、代码生成器新增批量生成模块的功能; 7、完善个人中心页面,优化页面样式呈现方式; 8、修复和完善近期

2023-02-17

新,FidelityFX FSR2 v2.2.0 是一项重大更新,该版本在 FSR v2.1.2 的基础上以多种方式进行了改进,提高整体图像质量并显着减少高速重影和闪烁等伪影。应用程序端 FSR2 API 已更改,从 2.1.2 更新到 FSR 2.2 需要一些工作,开发人员应特

2022-09-05

置角色所拥有的菜单权限。 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 职级管理:主要管理用户担任的职级。 岗位管理:主要管理用户担任的岗位。 部门管理:主要管理系统组织架构,对组织架构进行统一

2022-09-28

fix Model->orWhere当前面的where语句为空时的bug 7、模型:数据库连接改为惰性连接(当有实际数据库操作时才会去连接数据库) 8、废弃无用的方法、Loader类、Image类、Curl类、Validate类,强化Helper\Helper、Helper\Str、File\File  

2022-09-15

讨论组管理应用,支持系统管理员对群组及群成员查看与操作。 新增在线文档编辑功能,支持Word、Excel类型文档在线协作,可实时保存更改内容。 本期优化的全部需求和Bug请点击查看:https://github.com/easysoft/zentaopms/blob/master/

2022-11-18

置角色所拥有的菜单权限。 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 职级管理:主要管理用户担任的职级。 岗位管理:主要管理用户担任的岗位。 部门管理:主要管理系统组织架构,对组织架构进行统一

2022-09-01

置角色所拥有的菜单权限。 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 职级管理:主要管理用户担任的职级。 岗位管理:主要管理用户担任的岗位。 部门管理:主要管理系统组织架构,对组织架构进行统一

2022-12-24

置角色所拥有的菜单权限。 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 职级管理:主要管理用户担任的职级。 岗位管理:主要管理用户担任的岗位。 部门管理:主要管理系统组织架构,对组织架构进行统一

2022-08-19

置角色所拥有的菜单权限。 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 职级管理:主要管理用户担任的职级。 岗位管理:主要管理用户担任的岗位。 部门管理:主要管理系统组织架构,对组织架构进行统一

2023-01-04

,不影响性能; 功能强大,深度定制,量身打造类微型操作系统; 通过 SDB,您可以对运行中的 Hyperf 应用进行交互,以实现查看当前所有协程状态、窥视协程、进入指定协程、查看调用栈、打断点、单步调试、查看及修改

2023-09-07

更新内容 消费队列常驻任务增加保持数据库链接逻辑 课程和时间增加标签属性 修正邮箱注册提交按钮不可用问题 去除删除远程COS文件逻辑 优化课程课件资料相关逻辑 修正后台添加问题标签为空报错问题 修正课

2022-12-07

HeidiSQL 12.3 现已发布。HeidiSQL 是一个功能非常强大的数据库客户端软件,采用 Delphi 开发,支持 Windows 操作系统。支持 MySQL、MariaDB、Percona Server 和微软的 SQL Server。 此版本具体更新内容如下: 3rd party updates: 将 plink 二进