![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
幸运的小新粉
将相本无种,男儿当自强!
展开
-
【Python】python操作mongo的简单示例(待更新。。)
python操作mongo的简单示例原创 2022-07-21 12:29:52 · 407 阅读 · 0 评论 -
【redis】redis简单操作(待更新。。)
redis简单操作原创 2022-07-21 12:28:07 · 297 阅读 · 0 评论 -
【Python】通过跳板机访问数据库
什么是跳板机?跳板机(Jump Server):也称堡垒机,是一类可作为跳板批量操作的远程设备的网络设备,是系统管理员和运维人员常用的操作平台之一。那么具体是做什么的呢?现在一些比较大的互联网企业,往往拥有大量的服务器,为了能够统一方便管理,运维人员通过跳板机去管理对应的服务器。我们在访问服务器的时候,先通过登陆跳板机,然后再进入相应服务器。从一定程度上提升了服务器的数据安全性,也提升了服务器的可维护性。sshtunnel 连接堡垒机跳板机的本质还是ssh连接,通过paramiko 自己造轮子的话原创 2021-10-24 10:40:26 · 1308 阅读 · 0 评论 -
MySQL、Oracle获取表结构和字段
1、MySQL1.1 MySQL中涉及到字典表information_schema1.2 MySQL 获取字段信息SELECTTABLE_NAME AS ‘tableName’,COLUMN_NAME AS ‘columnName’,COLUMN_COMMENT AS ‘columnComment’,IS_NULLABLE AS ‘nullable’,DATA_TYPE AS ‘dataType’,CHARACTER_MAXIMUM_LENGTH AS ‘strLength’,NUM转载 2021-06-29 17:27:45 · 201 阅读 · 0 评论 -
sql模糊查询多个条件写法
单个模糊查询一般使用like,如果多个可以使用 OR 进行连接,不过写样子写法很冗余,而且如果多个条件是从表中 select出来的时候这种方法就不可行了。针对这种问题,一般都提供了正则表达式的写法,这样我上面说的那种情况只需要进行一下列转行就可以了。注意 REGEXP 后是 字符串类型MySQL-- 示例SELECT prod_name FROM products WHERE prod_name REGEXP ‘col1|col2’-- 列转行select group_concat(tes原创 2021-04-07 09:38:02 · 17620 阅读 · 1 评论 -
MySQL 中STD、STDDEV、STDDEV_SAMP 标准差函数的区别
总体标准差和样本标准差的区别如果数据集中的所有值都被纳入计算,则该标准偏差称为总体标准偏差。 然而,如果将一个子集的值或一个样本作为计算,则该标准偏差称为样本标准偏差。西格玛字母(σ)表示标准偏差。以下等式说明如何计算总体标准偏差和样本标准差:总体标准偏差:样品标准偏差:总体标准差和样本标准差的计算略有不同。当计算样本标准偏差的方差时,除以N-1而不是N,其中N是数据集中的值的数量。标准差函数的举例如图,可以简单用 shuxue 这一行数据进行验证,可以简单的计算一下,所有分数与avg差原创 2020-11-10 15:26:13 · 10135 阅读 · 0 评论 -
MySQL根据列式数据分类
背景:由于工作内容涉及到公司机密,我就讲个大概的场景:存在一些列式数据,比如每个人都有自己爱吃的几类水果,我们对每个人的饮食习惯进行分类(不太恰当,想不到啥好的例子)香蕉拼错啦,哈哈现在我的需求是喜欢吃苹果的不喜欢吃香蕉的分在A组,喜欢吃香蕉的不喜欢吃苹果的分在B组,两个都喜欢吃的分在C组,都不喜欢吃的分在D组首先需要列转行,得到每个人喜欢吃的水果select person,group_concat(fruit) from onefruit group by person;然后我根据苹果和原创 2020-10-23 13:55:06 · 599 阅读 · 0 评论 -
关于MySQL TopN不能正常排序的一些测试
背景:这是在工作中遇到的问题,应该跟mysql版本有关比如我要获取每门学科的排名如图所示,我直接查询chengji 表,对每门学科进行排序,正常如图所示,我加了一张表进行,这个时候就不能先 order by了,而是先查询,再order by ,可以看到输出的排名跟想要的差的很多我们试试让这两个关联表先排序这两个都是没有问题的,解决的关键是需要让关联的表正常排序,如果不能先排序使用标记就不能得到想要的结果了但是有些复杂场景(也可能是优化器版本问题)不管怎么样他都会帮你把order by 放到原创 2020-10-22 11:07:45 · 89 阅读 · 0 评论 -
借助pandas完成对Excel数据的建表和入库
背景:对Excel进行解析和入库技术难点1:对dataframe对象设置列名百度了很多,都是答非所问,这个没有向设置索引列那么简单直接设置哪一列就行了。不过可以通过赋值给df.columns的方式,于是我只需要获取列名的那一行并转化为集合的形式就可以了。 # 指定列名datacolumns = datapd.loc[columnindex].values.tolist()datadf.columns = datacolumns 技术难点2:根据dataframe完成建表,并能够获取每个字段的原创 2020-09-25 16:42:47 · 478 阅读 · 0 评论 -
SQL查询时存在级联关系作为条件的场景
背景:比如我现在需要计算子公司的指标之和,除了在筛选子公司的条件外还需要对该子公司的母公司也满足一定的条件。发现问题:刚开始使用的是inner join ,然而如果一个子公司存在两个子公司的时候,这个子公司的指标就会记录两次解决问题:如何找到该子公司存在母公司满足条件,首先想到的就是 exists...原创 2020-09-18 11:48:20 · 282 阅读 · 0 评论 -
比较两个表的数据是否一致(MySQL存过实现)
背景:比如生产库数据和测试库数据,我现在有脚本的变更或者优化,我先再需要比较同一批次的数据是否一致思路:每一条比对上的字段对应的数据都需要一致,于是我先比对每一条字段的数据是否一致,然后对字段进行循环即可。大体代码奉上:CREATE DEFINER=`***项目必要,已隐藏**`@`%` PROCEDURE `compare_twotb_data`( IN `TABLE1` VARCHAR(50), IN `TABLE2` VARCHAR(50), IN `timestr` VARCHAR原创 2020-09-10 17:26:39 · 6191 阅读 · 0 评论 -
mysql中TopN的实现
实现原理:要实现TopN,必定需要将数据进行分组,再将每个分组里边的数据进行排序。其实这个用order by a,b 就能够对a字段进行分组,再对b进行排序。排完序之后只需要将前N个就可以了。就像这样,我们只需要把他们进行排序即可,我们可以创建两个字段,第一个字段记录上一个subject,第二个字段用来标记当前行subject是否为上一个subject,如果是就自加,不是就赋值为1select a.*,@rankid := if(@subj = subject,@rankid + 1, 1) ran原创 2020-09-10 17:04:42 · 1874 阅读 · 0 评论 -
在聚合函数里边进行数据筛选
背景:如图所示,比如我需要计算sum(A)/sum(B)IDAB1111222null3333如果我直接对聚合进行计算(11+22+33)/(1+3) = 16.5显然这是存在一定误差的,现在需求是将为null的数据整行不参与计算。方案一:很简单 直接对整行进行判断并筛选:select sum(A)/sum(B) from testsum1 where A is not null and B is not null;方案二:在聚合函数中进行数原创 2020-09-04 10:59:14 · 806 阅读 · 0 评论 -
Mysql中null值的运算验证
验证null值对sum()函数的影响结论:对null值会自动忽略,不参与计算。是自动忽略还是赋值为0呢?验证:是否是自动忽略结论:null值会自动忽略验证 null值参与运算结论:null 值跟任何值进行计算都是 null...原创 2020-09-04 09:14:39 · 504 阅读 · 0 评论 -
Oracle 自定义异常
自定义异常总结两种常用用法1、定义ora-id,就相当于系统的报错一样declare -- 自定义异常名称 NO_CONFIG_EXCEPTION exception; v_sqlcode varchar2(20); -- 错误码 v_sqlerrm varchar2(300); -- 错误信息 -- 告诉编译器将异常名 与 ORACLE 错误码结合起来 pra...转载 2019-12-06 15:49:26 · 1826 阅读 · 0 评论 -
update两表关联批量修改
update wta_topo_res_link t1 set (t1.a_region_id) = (select t2.county_map_id from P_region_ID_map t2 where t1.a_region_id = t2.COUNTY_ID) where exists (select 1 from P_region_ID_m...原创 2019-10-24 19:02:41 · 2771 阅读 · 0 评论 -
jdbc易错点
1.datebase.properities 中的配置不能忽略,有时候数据库重新配置,可能数据库的序列名称就不是之前的那个。原创 2018-07-14 08:58:46 · 209 阅读 · 0 评论 -
动态SQL
动态SQL中的关键字> if> choose> foreach> where、trim、set我们在映射器中配置相应的SQL语句1、if 多条件查询(动态查询) 通过test属性进行条件判断,决定是否拼接相应的SQL语句 <select id="getPersonList3" result...原创 2018-08-04 14:36:34 · 229 阅读 · 0 评论 -
Mapper接口
mapper接口,面向接口编程的思想还是很重要的。也是本次博文最重要的部分》Person 实体类public class Person { private int pid; private String pname; private int age; private String address;》Mapper接口类package com.kgc.mybatis.poj...原创 2018-08-04 15:23:44 · 4905 阅读 · 0 评论 -
mybatis处理对象关联
》第一步:首先我们先建立两个表,用来展示一对多关联,以及多对一关联(实际解决起来就是一对一关联解决) 》第二步:创建对应的pojo// book类,每本书只为一人拥有,所以每本书关联一个拥有者public class Book { private String bid; private String bname; private User user;// User...原创 2018-08-06 09:26:46 · 2372 阅读 · 0 评论 -
Spring 结合 JDBC
Spring 对数据层的支持 一致的异常层次 一致的DAO 抽象类 jdbcDaoSupport -JDBC数据访问对象的基类 HibernateDaoSupport -Hibernate数据访问对象的基类 JdoDaoSupport ...原创 2018-08-11 13:50:22 · 168 阅读 · 0 评论 -
Spring 事务
事务: 保障数据操作的一致性、完整性 等等 传播性 (六种 传播性) 隔离级 (四种 隔离级) ACID : 指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离 性(Isolation)、持久性(Durability)。一个支持事...原创 2018-08-11 14:43:46 · 97 阅读 · 0 评论 -
insert 动态添加
<insert id="addBook" useGeneratedKeys="true" keyProperty="id" parameterType="Book"> insert into book(name,author,publish,publishdate <include refid="g原创 2018-09-05 08:31:08 · 1689 阅读 · 0 评论 -
Oracle 递归查询 start with connect by prior
本文重点 prior 的 重点用法:例1:找出编号为101的雇员及其所有下属(包括直接和间接下属) select * from myemp start with employee_id = 101connect by prior employee_id = manager_id;prior在等号哪边,表示哪边是"我的"所以上面语句中, connect by "我的"empl...转载 2018-12-20 09:17:36 · 171 阅读 · 0 评论 -
Oracle数据库误操作还原/恢复
实习生期间,差点从删库到跑路。。。。。好了,废话不说,当我们操作之后,被删除的表应该还是存在于回收站的,可以通过表名进行查询并进行恢复。flashback table <TABLE> to before drop如果再删除之后第一时间又创建了新的临时表,可以先将临时表彻底删除,再将原来的表恢复过来,因为如果常规删除一定会覆盖回收站的原数据库(我没试过,理论上的)...原创 2019-06-24 18:12:18 · 1640 阅读 · 0 评论 -
多条件以及分页查询的实现方法
第一步: 初始化对象 创建返回值list及其类型,创建StringBuffer对象,注意要new StringBuffer(“通过构造方法进行初始化”)创建param数组,这里用ArrayList类型更加灵活,之后通过.toArray()转化为数组public List<BookInfo> getInfo(String typeId,String bookName,S...原创 2018-07-23 20:12:00 · 4271 阅读 · 0 评论