技术饭 PHP的MongoDB\Driver\Manager实现对mongodb的操作

MongoDB是开发人员数据平台,提供必要的服务和工具,以快速、高性能和大规模地构建用户需求的分布式应用程序。MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

阅读全文 » 302天前
2023年06月01日

生活札记 Laravel学习笔记 - 基础入门(一)

Laravel 是一个全栈Web应用程序框架,具有富有表现力、优雅的语法。它可以从面条一样杂乱的代码中解脱出来,它可以构建网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。

阅读全文 » 328天前
2023年05月05日

技术饭 mysql替换字段值为另外一个表的字段值

mysql替换字段值为另外一个表的字段值,需求是:替换充值订单中的时间为另外一张表的时间字段,这时候正常使用 INNER JOIN 查询的方式查出来数据之后再进行update更新。

阅读全文 » 722天前
2022年04月07日

技术饭 mysql根据关联表查询统计字段进行排序

mysql根据关联表查询统计字段进行排序,需求是查询所有的主账号数据,然后根据子账号的数量进行按高到低排序,第一想法就是需要做order by那么就需要把统计子账号的结果作为一个字段,那这时候就可以使用子查询来实现了。

阅读全文 » 882天前
2021年10月29日

技术饭 mysql中json_contains、json_extract等json查询方法的使用

mysql中json_contains、json_extract等json查询方法的使用,新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询、修改等操作。JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写。对机器来说易于解析和生成,并且会减少网络带宽的传输。JSON的格式非常简单:名称/键值。之前MySQL版本里面要实现这样的存储,要么用VARCHAR要么用TEXT大文本。 MySQL5.7发布后,专门设计了JSON数据类型以及关于这种类型的检索以及其他函数解析。

阅读全文 » 1197天前
2020年12月17日

技术饭 mysql查询语句group by 后面 order by 失效

原始需求是要查询出通过手机号最新报名的数据并且需要对手机号进行分组,但是在查询过程中发现mysql查询语句group by 后面 order by 失效,无论怎么查询都是未查到需要的数据,单独查询数据排序没有问题,但是加入 GROUP BY 之后就不行了,后来的解决方案是:使用子查询的方式先查出排序好的数据,然后再将数据进行分组排序。

阅读全文 » 1198天前
2020年12月17日

技术饭 PHP查询用户排名名次、Mysql查询用户排名名次的方法

PHP查询用户排名名次、Mysql查询用户排名名次的方法,最近做了用户排行榜,那么就整理了查询用户排行的一些代码,主要分为两部分:PHP、Mysql两者独立查询用户排名信息,当然查询的是所有用户的排名以及当前用户的排名信息。

阅读全文 » 1209天前
2020年12月05日

技术饭 Group by 查询时的ONLY_FULL_GROUP_BY错误解决方案

mysql使用group_by的时候报错:Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #5 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'cis.q1.query_date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by。

阅读全文 » 1232天前
2020年11月13日

技术饭 获取微信js-sdk网页授权的地理位置

获取微信js-sdk网页授权的地理位置,通过微信浏览器打开页面时,有时会提示要获取地理位置信息,点击同意后,自己的地理位置信息就会相应的显示在页面,同时通过数据库的查询,以实现以地理位置分类的逻辑业务。

阅读全文 » 1319天前
2020年08月17日

技术饭 think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误

think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误,这几天做了抢红包的活动,请求高并发之后,程序出现了报错,数据无法写入数据库,查询调试发现报的错误是:unserialize(): Error at offset 284217 of 284296 bytes,后来是清除了缓存才解决了问题,可是问题是总不能一直清除缓存吧!!!

阅读全文 » 1322天前
2020年08月15日

技术饭 php使用array_slice()函数进行数组分页

今天用到一个函数,非常好用,分享给大家,array_slice() -从数组中取出一段也就是说用这个函数可以和sql语句一样实现分页,原理是将查询出的数组,取出从指定下标开始到指定长度的数组,我们的数据未必都是存储在数据库中,很多时候是用数组来组织的。所以获取数组数据,进行分页是比较常见的编程要求,array_slice(原数组,开始下标,要取几条),这里用到三个参数(如果不写第三个参数 返回直到数组末端的所有元素)

阅读全文 » 1446天前
2020年04月13日

技术饭 thinkphp5.1的json数据写入、查询

正常一篇文章属于一个分类,所以是单选,现在需要将一篇文章对应多个分类,这时候就需要将分类的单选改成了多选,那做法就有两种,1、将文章表的catid字段改成json格式,如:{"value":"5","value":"6"},2、删除文章表的catid字段,新建一个关联catid的表。

阅读全文 » 1487天前
2020年03月03日

生活札记 三大运营商可查询个人轨迹,30 天内去过哪里都知道

今天有微博大 V 用户发现了三大运营商推出的【个人轨迹证明方法】,可以给电信服务商发短信,得到你的手机最近一个月的轨迹,用来辅助证明你最近一个月是否离开城市或者由异地返回。IT 之家亲测中国联通可用,另外中国移动和中国电信请用户们测试。

阅读全文 » 1505天前
2020年02月14日

技术饭 Mysql如何查询连续的时间次数

Mysql如何查询连续的时间次数,在网上看到一道有意思的题目,大意是如何在mysql查询连续在线的天数。所谓的连续在线是指相邻两天都登录过,不一定一直在线,但是只要有过登录即可。如,1月1日登录了一会下线了,一月2日登录了一会下线了,那么,就算1月1日和2日是连续在线,天数为2。如果1月3日,没有登录过,1月4日登录了,此时,1月4日与1月1日、2日不算连续在线了。设连续在线天数为days,则1月1日在线,days=1;1月2日在线,days=2;1月3日不在线,1月4日在线,days=1;1月5日在线,days=2;

阅读全文 » 1858天前
2019年02月26日

技术饭 Mysql-Proxy代理配置

Mysql-Proxy是一个处于你的client端和Mysql Server端之间的一个简单程序,它可以监测、分析和改变他们的通信。它使用灵活没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。

阅读全文 » 2001天前
2018年10月06日

技术饭 Mysql常用复杂常用查询语句

Mysql常用复杂常用查询语句,记录一些自己不常用的 SQL 查询语句。

阅读全文 » 2003天前
2018年10月04日

技术饭 mysql数据库分表及实现

项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性能。

阅读全文 » 2003天前
2018年10月04日

技术饭 php7+mysql8下出现网页无法访问问题解决方案

php7+mysql8下出现网页无法访问问题解决方案,最近因为剁手买了Centos7,在上面搭建Ningx1.14.0+PHP7.2+Mysql8.0环境。数据库mysql从5.7跳到8,性能快了一倍,lnmp基本都弄好了,但是到用php连接Mysql这一步出了问题,一直无法加载网页,可是使用客户端、shell命令都可以进入mysql,多方查询才找到答案!

阅读全文 » 2022天前
2018年09月15日

技术饭 Laravel框架重要知识整理

Laravel框架重要知识整理,Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。

阅读全文 » 2181天前
2018年04月09日

技术饭 Laravel框架基础入门,Composer的基础使用

Laravel框架基础入门,Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。

阅读全文 » 2187天前
2018年04月03日

技术饭 Mysql查询同一天且满足一定条件下语句

Mysql查询同一天且满足一定条件下语句,mysql好多是好久没用就忘记怎么使用了,今天刚刚好要使用msyql来查询比较复杂的查询语句,要用到groud by分组。

阅读全文 » 2311天前
2017年11月30日

技术饭 EXPLAIN分析sql时,如何优化Using temporary ; Using filesort

EXPLAIN分析sql时,如何优化Using temporary ; Using filesort,1. 对需要查询和排序的字段要加索引。​2. 在一定环境下,left join还是比普通连接查询效率要高,但是要尽量少地连接表,并且在做连接查询时注意观察索引是否起了作用。3. 排序尽量对第一个表的索引字段进行,可以避免mysql创建临时表,这是非常耗资源的。

阅读全文 » 2390天前
2017年09月12日

技术饭 mysql性能分析及explain的用法

mysql性能分析及explain的用法,本文我们主要介绍了MySQL性能分析以及explain的使用,包括:组合索引、慢查询分析、MYISAM和INNODB的锁定、MYSQL的事务配置项等,用来分析mysql语句的查询性能方面还是有很大的帮助的。

阅读全文 » 2390天前
2017年09月12日

技术饭 MySQL如何查询每一个栏目下价格最高的商品?

MySQL如何查询每一个栏目下价格最高的商品?这里是使用子查询中group by出价格最大与分类id信息,然后再上一级查询中进行数据比较筛选相应的信息,然后再进行group by操作!

阅读全文 » 2473天前
2017年06月21日

技术饭 php操作redis常用方法代码示例

php操作redis常用方法代码示例,phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系,Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

阅读全文 » 2513天前
2017年05月12日

技术饭 一些常用的mysql语句收集

一些常用的mysql语句收集,我们使用SQL查询不能只使用很简单、最基础的SELECT语句查询。如果想从多个表查询比较复杂的信息,就会使用高级查询实现。常见的高级查询包括多表连接查询、内连接查询、外连接查询与组合查询等。

阅读全文 » 2572天前
2017年03月14日

技术饭 Mysql 多表count查询

Mysql 多表count查询,这两天在做成就系统,成就中有很多维度都和数量有关,比如用户粉丝数达到多少50个,授予 名扬四海 称号,用户点赞达到 100 次,授予 点赞圣手 称号等等。

阅读全文 » 2572天前
2017年03月14日

技术饭 为什么要用mysql索引优化数据库

为什么要用mysql索引优化数据库,索引是为了优化查询,减少查询的次数,索引的原理是平行二叉树原理;应该在读取数据量多的时候建立索引,索引一般分为nomarl普通索引、unique唯一索引、full text全文索引;索引的方法有:btree与hash,不过hash不能使用order by排序与like模糊查询。

阅读全文 » 2641天前
2017年01月04日