![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
关系数据库,非关系数据库
小洪鼠
这个作者很懒,什么都没留下…
展开
-
MySQL字符串截取函数案例详解
一、left()left():顾名思义就是从左边截取字符串。用法:left(str, length),即:left(被截取字符串, 截取长度)SELECT left('JingLiPoSuo',2);结果为:Ji二、right()right():顾名思义就是从右边截取字符串。用法:right(str, length),即:right(被截取字符串, 截取长度)SELECT right('JingLiPoSuo',2);结果为:uo三、截取特定长度的字符串截取特定长度的字符串有两原创 2022-03-10 14:58:58 · 2406 阅读 · 1 评论 -
MySQL实现短路或逻辑操作
背景突然接到一个需求,需要给我们的职位信息表增加一个字段,存放的是该职位对应的字典表中存放的编码,因为我们的职位信息表前期都是没有统一标准的,都是发布职位者自定义的,所以现在需要对职位进行模糊匹配,匹配到我们字典中规范的职位信息,然后将字典中规范职位的编码更新到职位信息表中新增的这个post_code 字段中。要求如下:如果能直接匹配,就用直接匹配职位名称的那条记录的code编码如果不能直接匹配,就要找字典中包含了该职位名称的记录,然后取包含职位名称的这行记录的凑得编码如果职位信息表中的职位是包原创 2021-10-25 21:57:42 · 785 阅读 · 0 评论 -
分组显示5条数据,但是只想要分组出3条结果,另外的两条合并到其中一条上面
未做处理直接直接分组出现的结果想要实现的效果一天在做业务开发的时候需要满足上面图片的需求,我也不知道能不能在group by里面使用if逻辑判断,我问了我旁边的技术组长,他说他也没有遇到过这样的需求,然后我就大胆的尝试了运行一下,惊奇的发现既然在group by里面是可以运行if逻辑判断的,然后我就使用这个逻辑判断实现了将五个分组结果,通过逻辑判断实现分组后只有三个分组结果的显示。思考:mysql官方文档应该是有说明group by 中可以使用if逻辑判断的,只是我自己还没有阅读到这部分的内容,技原创 2021-09-17 10:36:00 · 250 阅读 · 0 评论 -
Data truncation: Incorrect datetime value: ‘2021-10%‘ for column ‘MaxChargeDate‘ at row 1;
调用存过会报出这样的错误提示,Data truncation: Incorrect datetime value: ‘2021-10%’ for column ‘MaxChargeDate’ at row 1;出现这个问题的原因是因为数据库配置了时间格式为严格模式,所以严格要求世家是在有效的时间范围内的(1997-07-07 00:00:00),但是你写成(0000-00-00 00;00:00)这种格式或者其他格式都是不符合严格模式下的时间格式,所以都会报错。遇到这种情况要么你修改数据库的配置,将严格原创 2021-09-17 10:01:16 · 2098 阅读 · 0 评论 -
协助后台开发人员实现一个数据查询功能的开发。
接到一个开发人员给我的需求,让我帮他整出来。业务需求:现在我们是有两种企业身份,假设A为发布活动企业,B为参与活动企业。A企业下面有二级账号A_1,与三级账号A_1_1。B企业也是一样有二级账号B_1,三级账号B_1_1。推荐代理商会存上面所有类型的身份。现在需要实现的业务是,如果推荐代理商为A泽直接显示A,如果推荐代理商为A企业下二级的A_1,则直接显示A_1。如果推荐代理商为A企业下三级的A_1_,则直接显示A_1。如果推荐代理商为A企业下的A_1,则直接显示A_1。如果推荐代理商为原创 2021-08-10 21:39:47 · 166 阅读 · 0 评论 -
MySQL实现在表中找出多列相同,只有一个列不一样的数据行,找出存在重复的数据行
应为业务需要,在数据清理的时候需要对重复的数据进行清洗,所以用到了下面两种方案来找出表中存重复的数据,然后将重复的部分数据清理掉,方法如下。推荐使用第一中方法,因为第二种方法还需要使用一个函数来将数据进行拼接,然后在做分组。方案一select customer_info_idfrom customer_breakdown where yearmonth='202116'and in_use='1'GROUP BY customer_info_id,business_type,custome原创 2021-07-08 12:55:18 · 1038 阅读 · 0 评论 -
1093 - You can‘t specify target table ‘hrb_zp_people_talent‘ for update in FROM clause
1093 - You can’t specify target table ‘hrb_zp_people_talent’ for update in FROM clause在执行下面代码的时候出现了标题的错误提示,发生这个错误的原因是因为MySQL不支持,从一个表中进行查询再从这个表中进行对应子查询结果的数据删除或者修改。如果想要实现这种删除就需要对代码做一点点修改,即可将对应的数据删除掉。delete from peoplewhere operator_name='hongshixing'and原创 2021-06-19 23:50:26 · 83 阅读 · 0 评论 -
使用游标进行循环分类统计
需求开发过程中有一个业务需求,只有一个字段作为区分每个组织单位,因此无法仅仅使用一个简单的查询语句来处理,需要写两个存过,做判断,如果入参为市一级别,就调用存过,如果为镇就可以直接执行查询语句。下面是实现的样子。要求一点击市只显示镇一级的统计信息(但是真实要统计的是各个镇,以及各个镇下级乡村社区的所有数据的总和),不单单是统计镇这个组织的数据,所以模糊匹配无法使用。要求二点击镇的组织的时候需要统计整个镇的所有数据以及这个镇所有村社区的各个分组的统计数据,这里是可以使用模糊匹配,但是还需要用到un原创 2021-05-18 20:31:08 · 282 阅读 · 1 评论 -
MySQL查询优化-组合索引的使用
背景:公司的一个在用的系统,如果查询数据量很小很小勉强还可以用,但是数据量稍微多一点点就直接卡爆了,因为系统有Nginx来设置超时,业务人员在使用的时候发现如果是点击大一点的组织,系统就会卡住了,无法加载数据出来。于是需要从数据库将数据查询出来,发现从数据库进行查询既然也是很慢,于是就将之前别人开发这个查询脚本拿出来解剖。通过分析发现查询很慢的原因是两个表在进行关联的时候进行了笛卡尔乘积计算,将一个五千多条的数据和九千多条的数据进行了乘积运算,数据直接跑到了四百多万。这个时候如果没有创建索引,那将会进行原创 2021-04-28 19:03:50 · 247 阅读 · 0 评论 -
Power Disigner 如何将数据库中的表结构转换成word文档
背景最近需要整理数据库系统的文档资料,需要将数据库中的表结构整理出来,让其他人员比较直观的看懂系统中的数据库表结构,所以需要使用到power disinger 进行转换。案例:原来的样子需要实现的样子数据库导出表结构找到对应的表右键导出表结构然后你可以获得一个这样的表结构文件power disinger导入模板将下面的模板文件拖到上面的软件打开,或者直接打开也可以打开后就会是下图样子,工作空间是没有文件的power disinger转换sql表结构开始导入文件选择原创 2021-04-14 15:09:38 · 1152 阅读 · 1 评论 -
简历投递数据统计数据查询优化(MySQL数据库开发)
业务场景需求,需要查询出某个招聘岗位投递简历人员数量(要求:将已投递该岗位,但是此人在数据库中已经不存在的人员过滤掉不做统)select a.*,count(temp.apply_id) as apply_number from info_request aLEFT JOIN (select b.* from people_apply_record b join people_baseinfo c on c.people_id=b.people_id and c.in_user=1 w原创 2021-03-15 18:43:05 · 371 阅读 · 2 评论 -
员工年龄分布报表统计(MySQL数据库开发)
业务场景:需要对系统中员工年龄分布进行数据统计分析。select age_temp,count(*) as total ,CONCAT(round(count(*)/(select count(*)from people_baseinfo)*100,2),'%') as rate from ( select age, case when age IS NULL OR age = '' then '未知' when age between 18 and 24 then '18-24岁原创 2021-03-15 14:28:04 · 1124 阅读 · 0 评论 -
牛客网sql练习记录
35题insert or ignore into actor values('3','ED','CHASE','2006-02-15 12:34:33')这一题主要要是考察大家对insert or ignore into 的掌握,如果记得这个题目就很容易。注意:MySQL里面是这么写的,把or去掉。insert ignore into actor values('3','ED','CHASE','2006-02-15 12:34:33')36create table actor_.原创 2020-11-15 01:39:10 · 135 阅读 · 0 评论 -
hive数据仓库用户行为分析的简单实践
步骤一创建数据库仓库导入数据对small_user.csv数据进行预处理然后得到user_table.txtHdfs下创建bidata/dataset目录将本地的hongshixing_table.txt上传到hdfs查看数据在hive中创建数据库创建外部表在hive中查看数据步骤二进行 hive数据分析查看表结构简单查询分析1、用聚合函数 count()计算出表内有多少条行数据2、在函数内部加上 distinct,查出 uid 不重复的数据有多少条3、查询原创 2020-09-19 13:16:33 · 2478 阅读 · 2 评论 -
数据库优化方案
InnoDB引擎的4大特性插入缓冲(insert buffer)二次写(double write)自适应哈希索引(ahi)预读(read ahead)存储引擎选择MySQL默认的Innodb引擎。MyISAM:以读写插入为主的应用程序,比如博客系统、新闻门户网站。Innodb:增删改操作频率高,或者要保证数据的完整性;并发量高,支持事务和外键。比如OA自动化办公系统。SQL的生命周期?应用服务器与数据库服务器建立一个连接数据库进程拿到请求sql解析并生成执行计划,执行读取数据到内存原创 2020-09-06 21:11:17 · 139 阅读 · 0 评论