数据库
文章平均质量分 58
Hello,数据库
子非我鱼
你非我,安知你知我之乐!
展开
-
docker安装influxdb及备份恢复
我们找到所挂载的目录之后,将之前备份好的文件上传到当前服务器所挂载的目录,然后执行即可(必须要找到挂载所在目录,并且将备份文件复制到所在目录下)因为创建容器的时候,我挂载的目录是/home/data/influxdb,所以我这里将数据备份到/var/lib/influxdb2/myqxin目录下,我们就能在服务上的/home/data/influxdb目录看到一个myqxin的目录。比如:我当前在/home/data目录下,使用以下命令则会进入到/home/data/influxdb。原创 2022-10-22 20:32:10 · 1620 阅读 · 0 评论 -
docker安装mysql
我这里选择挂载到/home/data/mysql/conf下可以看到文件已经挂载成功。原创 2022-10-22 19:20:20 · 483 阅读 · 0 评论 -
mysql分组后统计个数,然后计算出每组个数占比
业务场景:当我们使用SQL对数据分完组之后,能得到分组后的数据。但无法拿到整个数据的情况,明显一个查询是无法实现的。要么使用关联查询。表结构及数据分析:这里根据性别sex进行统计人数,可以看到男有2个,女有6个,总共8条数据。由此可以得到男占总人数的25%,女占总人数的75%,下面我们通过SQL来实现使用笛卡尔积方式使用窗口函数sum() over(),推荐使用这种方式...原创 2022-07-13 11:33:25 · 10043 阅读 · 1 评论 -
windows安装postgreSQL(超详细步骤)
我这里是64位的,下载64位的,避免下载的资源版本与系统冲突安装不上的问题官网下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads步骤1,弹出以下界面,点击Next步骤2,弹出以下界面,可以选择安装目录(自定义),然后点击Next步骤3,弹出以下界面,不做任何操作直接Next步骤4,弹出以下界面,直接选择Next(这里是创建存放数据的目录,默认就是安装目录下建了一个data目录,不建议自己更改)步骤5,弹出以下界原创 2022-06-01 16:12:56 · 14273 阅读 · 15 评论 -
三种排名风格-实现对mysql查询结果进行处理
操作的表:user表数据:需求:我们需要对sex这个字段进行年龄排名,年龄小的在前,大的在后1,对使用sql语句对查询结果,添加一个序号这种方式是你已经用SQL处理好已经排好序的数据,单独加了一个序号的方式// (SELECT @i:=0)j 声明一个变量(注意,如果声明的变量是关键字则会异常),变量初始值为 0,每次让它+1// 声明一个变量 (@i:=@i+1)"字段”SELECT (@i:=@i+1)"序号", u.* FROM 表名 u,(SELECT @i:=0)j异常声明方原创 2022-03-23 19:16:23 · 1725 阅读 · 1 评论 -
springboot整合canal实现对mysql数据库实时监控
canalCanal介绍Mysql环境准备安装canalspringboot整合canalCanal介绍官网地址:https://github.com/alibaba/canalcanal [kə’næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大原创 2022-01-07 16:57:08 · 5331 阅读 · 0 评论 -
三种方式调用mysql存储过程
数据库直接创建使用存储过程创建存储过程DELIMITER $CREATE PROCEDURE 名称()BEGIN逻辑语句(可以一条或多条)END $示例:DELIMITER $CREATE PROCEDURE setUsername()BEGINupdate myqxin_user set username = '魅言倾馨' where id = 1;END $使用存储过程call setUsername() // setUsername就是上面创建的名称原创 2021-04-22 15:08:10 · 1983 阅读 · 1 评论 -
mysql使用存储过程创建动态表名及参数处理
关于mysql的存储如何创建和使用:点击这里存储过程创建与使用有说明直接上干货,我这里直接使用的是带有参数的创建SQL如下:DELIMITER $CREATE PROCEDURE spatialStored(IN years VARCHAR(32))BEGIN-- 创建动态表,获取当前日期SET @sql_create_table = CONCAT( 'CREATE TABLE IF NOT EXISTS sx_test_a', DATE_FORMAT(CURDATE(),'%Y_%c')原创 2021-12-24 15:18:38 · 4125 阅读 · 0 评论 -
Springboot整合shardingsphere框架实现mysql分表(解决数据表存储压力)
shardingsphere官网:https://shardingsphere.apache.org/场景:如果表的数据过大,我们可能需要把一张表拆分成多张表,这里就是通过ShardingSphere实现分表功能,但不分库。shardingsphere快速使用shardingsphere进行分表1,数据库设计2,springboot项目整合shardingsphere3,请求测试4,获取刚才插入的所有数据快速使用shardingsphere进行分表1,数据库设计我这里建了一个名为myqxin的原创 2021-12-23 16:15:17 · 6880 阅读 · 1 评论 -
windows安装最新版Mysql8.0.27
mysql官网:https://www.mysql.com/1,打开官网界面,点击downloads下载资源2,点击MySQL Community(GPL)Downloads >>(社区下载)3,在社区下载页面,点击MySQL Community Server(社区服务器)4,选择第一个,点击download(下载)5,弹出一个是否需要登录/注册的界面,我们之间跳过,点击No thanks,just start my download(不,谢谢,开始我的下载)6,下载完成之后原创 2021-12-20 09:47:19 · 2282 阅读 · 2 评论 -
MySQL实现字段分割(一行转多行)
先看一下数据结构,我这里字段比较少,只弄了最重要的部分根据我们上次学到的LEFT()函数进行分组SELECT LEFT(provinces,6),COUNT(1) FROM `region_map_copy` GROUP BY LEFT(provinces,6)得到的结果如下:这样的效果并不是我们想要的,我们是要210000所有的都合并起来使用SUBSTRING_INDEX(),LEFT()这两个函数,在加help_topic这个表help_topic:以字符拆分,一行转多行SELEC原创 2021-12-02 17:40:17 · 18092 阅读 · 9 评论 -
各省简称与全称转换
枚举类package com.myqxin.common.enums;public enum ProvinceMap { JBJ("京","北京市","北京"), JTJ("津","天津市","天津"), JHB("冀","河北省","石家庄"), JSX("晋","山西省","太原"), MNM("蒙","内蒙古自治区","呼和浩特"), LLN("辽","辽宁省","沈阳"), JJL("吉","吉林省","长春"), HLJ("黑"原创 2021-12-01 08:36:17 · 732 阅读 · 0 评论 -
MySQL实现字段部分分组
先看一下数据结构,我这里字段比较少,只弄了最重要的部分通常情况下,我们是需要对provinces分组的,因为想要某个城市下的个数SELECT provinces,COUNT(1) FROM `region_map` GROUP BY provinces得到的结果如下:这样的效果并不是我们想要的,我们是要210000的都合并起来使用LEFT()函数来实现SELECT provinces,COUNT(1) FROM `region_map` GROUP BY provinces结果如下:原创 2021-11-30 10:36:02 · 1852 阅读 · 0 评论 -
删除mysql所有字段值为NULL的数据
今天在玩mysql的时候,填了很多字段值没有数据的数据,一条一条删太麻烦了这种方式删除不了delete from 表名 where 字段 = NULL使用这种方式就可以了delete from 表名 where 字段 is NULL总结:判断NULL用is null 或者 is not null,sql语句里可以用ifnull函数来处理,判断空字符串‘’,要用 =” 或者 <>”,sql语句里可以用if(col,col,0)处理,即,当col为true时(非null,及非”原创 2021-11-15 18:10:11 · 5763 阅读 · 1 评论 -
使用${}实现mysql的in语句拼接查询
1,将数组,转换成我们所需要的字符串 String[] arr = {"1","2","3"}; System.out.println(Arrays.toString(arr)); for (int i = 0; i < arr.length; i++) { arr[i] = arr[i].replace(arr[i], "'" + arr[i] + "'"); } String s = Arrays.toS原创 2021-11-12 15:59:09 · 2083 阅读 · 3 评论 -
windows安装redis
1,下载资源包下载地址:https://github.com/tporadowski/redis/releases2,直接解压即可,解压后的内容如下3,在解压后的目录下,启动redis服务redis-server.exe redis.windows.conf启动成如下图:3,另起一个cmd窗口,打开客户端redis-cli.exe -h 127.0.0.1 -p 6379进入客户端之后,我这里做了演示了添加内容和获取内容的操作4,将redis部署成windows服务由于上面虽然原创 2021-11-09 19:55:05 · 1144 阅读 · 1 评论 -
java实现不同数据库之间数据的迁移
1,DataMigration.javapackage com.myqxin.sx.common.utils;import java.sql.*;/** * @author: myqxin * @Desc: * @create: 2021-09-18 10:31 **/public class DataMigration { /** * 数据源 * * @return */ private Connection formConn(原创 2021-09-18 11:17:28 · 5761 阅读 · 0 评论