数据库
文章平均质量分 63
晨曦遇晓
你今天的日积月累,早晚会成为别人的望尘莫及。
调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步
展开
-
企业微信上传临时素材文件
1.控制层 /** * 上传临时素材 */ @ResponseBody @PostMapping("/uploadResource") public BaseResponse uploadResource(MultipartHttpServletRequest param) throws Exception{ return BaseResponse.Builder.build(weixinService.uploadResource(p原创 2022-04-15 15:36:46 · 3888 阅读 · 1 评论 -
MybatisPlus手写sql分页
最近做的项目因为是使用的sqlserver,分页的写法比mysql复杂很多,所以现在有多表查询的时候需要用到框架自带的分页查询,但之前都是使用的单表的分页查询,那接下来就分享一下多表的分页怎么处理1.控制层/** * 獲取子企業列表 */ @GetMapping("/getCustomerByPid") public ReqVo<Page<TBasCustomer>> getCustomerByPid(@RequestPa...原创 2022-01-05 10:52:08 · 3504 阅读 · 2 评论 -
查询2个时间之内所有指定范围的时间数据
第一部分:目前查询效率慢的问题目前的这个功能的需求如图:日期区间和时段区间2组条件也就是例如我需要查询12月1号0点0分到31号0点0分范围内,下午17点到晚上22点里的数据,这个地方我之前的写法如下,数据库使用的sqlserver: and o.OrderTime>=#{starttime} and o.OrderTime <=#{endtime} and format(o.OrderTime,'HH:mm')>=#{start} and format(o原创 2022-01-04 16:47:06 · 4257 阅读 · 0 评论 -
linux 安装sqlserver
测试环境:腾讯云,1核+2G1.下载 Microsoft SQL Server 2017 Red Hat 存储库配置文件:sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo2.安装 SQL Server:sudo yum install -y mssql-server3.破解2G运行内存限制(3.5G内存同理)转载 2021-12-24 10:50:30 · 1569 阅读 · 0 评论 -
sqlserver根据经纬度查询距离范围
首先数据库里有坐标的经度和维度字段,然后根据选择的地点经纬度和有效范围(米)来进行查询通过百度发现了sql有自带的经纬度算法 所以直接来过来使用就行 例子:指定一个经纬度,给定一个范围值(单位:千米),查出在经纬度周围这个范围内的数据。经度:113.914619纬度:22.50128范围:2kmlongitude为数据表经度字段latitude为数据表纬度字段select * from 业务表 where sqrt( ( ((113.914619...原创 2021-12-09 16:14:06 · 1489 阅读 · 2 评论 -
oracle中关于char()类型的字段
前几天在使用oracle查询char(32 byte)类型的字段时,在连接工具Oracle SQLDeveloper查询时,是能够查询到数据的,但是通过接口查询数据库时却显示没有查询到,当时使用的时mybatis plus的拉姆达那种方式去做的,后面就自己在xml配置里写sql,发现还是没有查询出来,因为我查询其他表的数据都能有数据,所以怀疑是不是表的字段问题,于是就把这个字段的条件去掉,全表查询的结果数据就出现了,果然是这个字段的问题 通过网上查询得知,原来这个字段...原创 2021-10-25 10:00:51 · 1059 阅读 · 0 评论 -
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
错误信息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)出现问题原因:有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socketmysql.sock 文件有什么用:mysql 支持 socket 和 TCP/IP 连接。那么 mysql.sock 这个文件有什么用呢?连接localh转载 2021-08-17 12:50:54 · 1517 阅读 · 0 评论 -
漫画来解释一下数据库常用的事务隔离级别都有哪些?都是什么原理?
原文转载至:https://baijiahao.baidu.com/s?id=1611918898724887602&wfr=spider&for=pc什么是事务隔离?任何支持事务的数据库,都必须具备四个特性,分别是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),也就是我们常说的事务ACID,这样才能保证事务((Transaction)中数据的正确性。而事务的隔离性就是指,多个并发的事务同时访问一转载 2021-02-25 14:53:55 · 134 阅读 · 0 评论 -
mysql批量给库里的表添加字段
今天有一个需求,对库里指定的一些表进行字段的添加,因为库里这些表是属于同一张表,只不过按照日期对表进行了拆分,变成了ytx_qrcode_order_01,ytx_qrcode_order_02,ytx_qrcode_order_03这样的,所以需要新增的字段每个表里都需要添加,在这里有2种方式可以实现第一种方式:获取一个可以执行的结果集,然后执行这个结果集的语句进行添加.首先应该先把结果集的长度修改一下,因为如果表很多的话,会装不下,修改语句为:SET SESSION group_concat_m原创 2021-01-25 17:47:20 · 2638 阅读 · 0 评论 -
覆盖索引、联合索引、索引下推
今天看到一篇关于数据库优化和索引写的非常好的文章,分享一下.文章转载至:https://www.cnblogs.com/Leo_wl/p/13093705.html一、前言最近小农在找工作,因为今年疫情的特殊原因,导致工作不是特别好找,所以一旦有面试电话,如果可以,都会去试一试,刚好接到一个面试邀请,感觉公司还不错,于是就确定了面试时间,准备了一下就去面试了。第一轮面试是小组组长面试,通过。第二轮是经理面试也是通过了。第三轮总监面试,前面都还有模有样,突然画风一转,面试官说:“问你最后一个问转载 2020-11-09 15:46:19 · 410 阅读 · 0 评论 -
SqlServer计算2个时间的间隔时间(工作日时间),不包括法定节假日和周末
最近在统计计算的时候,有一个需求是计算关闭时间-开始时间的小时数,但是如果中间有周末或者法定节假日不能包括在内,只计算工作日的小时数 在网上查询了很多资料后发现,有2种做法 第1种是使用存储过程的方式,另1种方法是需要一张法定节假日的表,然后关联一下,进行计算和查询。网上可以下载的到 例如2020年法定节假日和周末数据:https://download.csdn.net/download/u014508939/12650095 这是我上传的资源 下面我可以把数据提供出来:如果导入失...原创 2020-07-22 14:00:16 · 5619 阅读 · 3 评论 -
SqlServer中group by用法以及容易出错的点
之前基本都是使用mysql,然后新项目是关于医疗方面的,使用的是sqlserver,主要的业务也基本都是各种报表查询和汇总,例如按24小时,日,周,月等进行统计指标数,合格率,百分率,平均率等等。(最恶心的一个需求是:求2个日期相减得到小时数,需要扣除周末以及法定节假日,只计算工作日的小时数,然后根据不同的级别去判断小时数是否达标等......) 好了,言归正传,今天在写一个查询,是关于分组统计的,所以group by少不了的,然后遇到了问题我基本也是去搜下该如何解决.具体的网...原创 2020-07-09 15:27:07 · 1218 阅读 · 0 评论 -
SqlServer列转行查询--Pivot函数
下面来说说SQLServer 中常用Pivot 函数(这里是用的数据库是SQLSERVER,与其他数据库是类似的,大家放心看就好)让我们先从一个虚构的场景中来着手吧万国来朝,很多供应商每天都汇报各自的收入情况。先来创建一个DailyIncome 表create table DailyIncome(VendorId nvarchar(10), IncomeDay nvarchar(10), IncomeAmount int)--VendorId 供应商ID,--Inc...转载 2020-07-08 14:38:49 · 5542 阅读 · 0 评论 -
sqlyog如何比对数据库结构
1.点击powerttools选项下的schemasynchronization tool2.如下图所示:3.如果时跨库的话 可以选择重新连接进入再次比对,才会出现相邻的2个不同库区的数据库原创 2020-05-11 11:58:03 · 2456 阅读 · 3 评论 -
this is incompatible with sql_mode=only_full_group_by
5分钟学会MySQL-"this is incompatible with sql_mode=only_full_group_by"错误解决方案前言:一、原理层面这个错误发生在mysql 5.7 版本及以上版本会出现的问题:mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_...转载 2019-11-29 11:40:16 · 1088 阅读 · 0 评论 -
Mybatis最入门---动态查询(choose,when,otherwise)
[一步是咫尺,一步即天涯]接上文,由于篇幅的关系,我们继续来叙述动态变化的条件查询。上文中,我们实现了两种需求的查询:1.条件数量不可知的查询,2.集合类型条件的查询。本文,我们来介绍第三种需求的查询:在某一个限制条件下的,条件数量不可知或者集合属性的查询。即,假设我们需要查询:指定部门下的,符合某些信息的员工。明确目标之后,我们来正式开始介绍操作步骤吧准备工作:转载 2017-05-31 12:01:59 · 1210 阅读 · 0 评论 -
solr删除数据的几种方法
原地址:http://blog.csdn.net/lbf5210/article/details/51207043 1、在solr客户端,访问你的索引库(我认为最方便的方法)1)documents type 选择 XML 2)documents 输入下面语句<delete><query>*:*</query></delete><...转载 2018-11-28 14:47:02 · 10373 阅读 · 0 评论 -
Spring事物处理异常机制的几种情况
原文转载至:https://blog.csdn.net/csdnsevenn/article/details/84645568 我们在开发企业应用时,由于数据操作在顺序执行的过程中,线上可能有各种无法预知的问题,任何一步操作都有可能发生异常,异常则会导致后续的操作无法完成。此时由于业务逻辑并未正确的完成,所以在之前操作过数据库的动作并不可靠,需要在这种情况下进行数据的...转载 2018-12-05 08:17:10 · 1126 阅读 · 1 评论 -
mysql group by分组后 count多个相同的条件统计
需求是在订单表中的商品 根据商品分组后根据数量进行倒叙 例如:id goods_id goods_name selelr_price 1 3 电视 300 2 2 冰箱 500 3 3 电视 300 4 5 洗衣机 250 5 2 冰箱 500 6 3 ...原创 2019-01-25 19:15:36 · 10936 阅读 · 2 评论 -
union之后orderby失效问题解决
最近在写sql的时候出现了一个排序的问题 因为用到了union连接2张表的数据 分别在表1和表2都用到了order by 数据如下:表1是有数据的:然后表2的数据没有数据 :最后union合并了之后的查询结果: 排序出现了问题 因为sql的执行顺序是先order by 然后union再拼下一张表的数据,所以最后把2条sql用一个大括号包起来 se...原创 2019-07-04 15:17:12 · 4679 阅读 · 0 评论 -
mysql count和groupBy查询的数据不一致
今天在关联查询数据的时候出现了select * 和select count(*) 的数据不一致的问题 select*查询的数据是一条,但是count(*)之后的数据为2条 具体看下图:sql:SELECT*FROM t_goods goods LEFT JOIN t_goods_merchant gm ON gm.goods_id=goods.id LEFT JOIN t_...原创 2019-07-10 17:40:49 · 4438 阅读 · 0 评论 -
mysql group by 之后取每个分组最新的一条(或者按照自定义的规则排序)
经常在分组查询之后 需要的是分组的某行数据,例如更新时间最新的一条数据,详见下表:然后根据goods_id进行分组查询 取分组后最新的一条数据 我们需要的结果是id为3和id为2的这2条数据 但是执行后查询的结果是:可以看出来 得到的结果是3和1,这显然不是我们需要的结果,因为在分组之前数据库就默认得到了结果,然后我们在去order by就得到不想要的数据,所以我们要做的就是,第1...原创 2019-09-05 16:43:34 · 33024 阅读 · 24 评论 -
SQLyog备份数据和导入数据
1-导出备份数据 首先是导出备份数据,选择需要导出的库,点击右键backup/export-backup database as sql dump 选择需要导出保存文件的位置,最顶部有3个选项 仅表结构 仅表数据 表结构和表数据 如果库的表数据较多较大的话可以分开导出备份,分为导出表结构和表数据2个sql文件,因为如果一次性选择表结构和表数据全部的话 一时需要花费的...原创 2018-09-12 15:04:39 · 2131 阅读 · 0 评论 -
对查询出来的数据进行递增修改
UPDATE shopping_goods a INNER JOIN (SELECT go.id,go.goods_price,@var1:=@var1+50 addprice FROM (SELECT goods.id, goods.addTime AS 'add_time', goods.goods_name, goods.goods...原创 2018-08-07 17:51:43 · 720 阅读 · 0 评论 -
数据库优化的问题
最近发现其实sql的优化真的非常重要,有时写出来的语句能得到正确的查询结果并非是最重要的,以前按照我自己的理解是只要能写出正确的sql查询基本就差不多了,但是现在发现我的这个想法太幼稚了。有时候sql的优化比结果更重要,往往在数据库开始庞大的时候对于这一点才会有更加深刻的认识。接下来我就说说最近遇到的问题。 首先每次我在写完sql的时候会在测试库里跑一遍,检查查询数据的正确性,原创 2017-07-05 10:27:05 · 656 阅读 · 0 评论 -
mysql获取当前时间,日期之前和日期之后的日期
错误的sql语句 eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < CURDATE()+1; 虽然 获取到的数量在测试环境中是正确的,但在发布到线上的时候,发现有的时候数据是查询不到,数量为0,因此,就上网查询是不是CURDATE()+1不规范,发现my...原创 2017-07-14 10:55:58 · 5863 阅读 · 0 评论 -
Mysql跨表更新,删除 多表update,delete
1.多表更新 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。 在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式: 复制代码代码转载 2017-07-03 11:43:56 · 1166 阅读 · 0 评论 -
无法启动MYSQL服务”1067 进程意外终止”解决办法
本文章主要是总结了各种导致mysql提示无法启动MYSQL服务”1067 进程意外终止”的一些解决办法,有碰到mysql无法启动的同学可尝试参考。在win7的服务器里开启MySql服务提示“windows无法启动mysql服务(位于本地计算机上。错误1067:进程意外终止)”。进入MySql的安装目录找到my.ini里有一句:default-storage-engine=INNOD转载 2017-06-09 13:59:09 · 32820 阅读 · 2 评论 -
java.sql.DataTruncation: Data truncation异常
Caused by: java.sql.DataTruncation: Data truncation at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:382)一般出现这种问题,都是参数的原因,检查下自己的数据是否符合数据库的限制范围内,比如长度啦,大小啦,浮点这些方面原创 2017-05-19 18:05:29 · 20330 阅读 · 0 评论 -
sql变量使用总结
set语句的学习:使用select定义用户变量的实践将如下语句改成select的形式: set @VAR=(select sum(amount) from penalties);我的修改: select @VAR:=(select sum(amount) from penalties);我这样改,虽然是可以的。但是,对比的书中的答案,发现这样的方式太蹩脚了。说明没有原创 2017-04-27 09:34:21 · 3280 阅读 · 0 评论 -
MySQL优化原理
说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如果能在头脑中构建一转载 2017-05-02 13:31:04 · 3986 阅读 · 0 评论 -
为什么mysql要做主从复制?
为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低。 为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主数据库的负载。 而且如果主数据库宕机,可快速将业务系统切换到从数据库上,可避免数据丢失。MySQL主从复制(读写分离)和集群的区别:我对MySQL也是刚开始研究,不是很专转载 2017-03-13 23:20:03 · 5727 阅读 · 2 评论 -
SQL Server几个常用date函数
下表汇总了SQL Server 中经常用到的几个时间函数 本节重点介绍前两种函数。 函数描述GETDATE()返回当前日期和时间CONVERT()用不同的格式显示日期/时间DATEDIFF()返回两个日期之间的时间DATE转载 2017-04-07 09:36:58 · 1563 阅读 · 0 评论 -
收录SQL常用语句大全
创建数据库创建之前判断该数据库是否存在if exists (select * from sysdatabases where name='databaseName')drop database databaseNamegoCreate DATABASE databasenameon primary-- 默认就属于primary文件组,可省略(/*--数据文件原创 2017-03-13 23:11:56 · 428 阅读 · 0 评论 -
SQL中EXISTS的用法
比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID) 这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是Cu转载 2017-08-09 11:10:33 · 699 阅读 · 1 评论 -
为什么要使用线程池
在Java中,如果每当一个请求到达就创建一个新线程,开销是相当大的。在实际使用中,每个请求创建新线程的服务器在创建和销毁线程上花费的时间和消耗的系统资源,甚至可能要比花在处理实际的用户请求的时间和资源要多得多。除了创建和销毁线程的开销之外,活动的线程也需要消耗系统资源。如果在一个JVM里创建太多的线程,可能会导致系统由于过度消耗内存或“切换过度”而导致系统资源不足。为了防止资源不足,服务器应用程序转载 2017-03-17 16:31:22 · 752 阅读 · 0 评论 -
使用union来代替字段嵌套子查询优化
这个关于查询任务目标,任务达成情况和任务完成比例的一个查询sql,因为查询的任务包括了3个方面 销售额 开卡数量和微信加粉数量的一个任务查询 所以关联的表比较多,最后需要做的一个结果展示效果如下:任务名称 任务开始时间 任务结束时间 目标销售额 完成销售量 完成销售比例(%) 目标开卡数 完成开卡数 开卡完成比例(%) 目标加粉数 完成加粉数 加粉数完成比例(%)原创 2017-09-26 14:08:26 · 2687 阅读 · 0 评论 -
存储过程的创建和使用
mysql工作中用的比较多了,但是总觉得做为2年半的开发人员 对存储过程不太掌握和了解的话未免有些说不过去,所以最近几天学习了一下存储过程,发现还是比较简单的,下面就简单的记录和总结一下。1.存储过程的语法结构create procedure 存储过程名称(参数);//可以无参,也可以带参数,和java的方法名差不多有参数的设置:(in|out|inout 参数名称 数据类...原创 2018-08-07 17:50:08 · 27042 阅读 · 4 评论 -
mysql update select 从查询结果中更新数据
# update select 语句(注意:必须使用inner join)# 语法 update a inner join (select yy from b) c on a.id =c.id set a.xx = c.yy#SELECT knowledge_id,COUNT(0) nums FROM pro_base_timu_knowledge GROUP BY knowledge_id;...转载 2018-08-07 08:48:25 · 9511 阅读 · 3 评论 -
group by后取第一条数据
因为在mysql的查询语句顺序上会有先后,先执行group by之后才会执行order by,所以对于以下这种数据:我的sql语句是这样写的:SELECT act_goods.goods_id,goods.goods_name,act_goods.act_price FROM nata_activity_goods act_goodsLEFT JOIN shopp...原创 2018-08-14 09:34:13 · 50019 阅读 · 1 评论