数据库
文章平均质量分 65
光哥_帅
技术就是知识,改变命运!!!
展开
-
【mysql】云服务器被攻击,数据库以及数据都被删除如何通过binlog日志恢复
根据binlog 日志恢复数据原创 2022-11-01 16:45:34 · 2777 阅读 · 5 评论 -
【mysql】垂直分表的意义是什么
当数据库数据量大的时候,我们会考虑分库分表,但是在有些情况我们还会考虑垂直分表,比如这个表的字段过多,有几十个字段,我们就需要考虑垂直分表了,垂直分表解决了什么问题,接下来大家一起来看一下吧。...原创 2022-07-26 14:21:18 · 779 阅读 · 1 评论 -
【mysql 】 mvcc(多版本并发控制)原理的理解
mysql mvcc 不知道的看一看原创 2022-07-22 17:09:52 · 1236 阅读 · 1 评论 -
【mysql】添加拼音首字母
1、功能实现说明图一图二数据量很大,目的是找到相应字段的首字母,如果后台写代码可能耗时比较久,现在整理一个mysql函数,轻松处理2、mysql函数DROP FUNCTION IF EXISTS `GET_FIRST_PINYIN_CHAR`;CREATE FUNCTION `GET_FIRST_PINYIN_CHAR`(PARAM VARCHAR(255)) RETURNS VARCHAR(2) CHARSET utf8mb4BEGIN DECLARE V_RETURN VARCHAR原创 2021-12-09 17:29:18 · 589 阅读 · 0 评论 -
【查漏补缺】mybatis自增返回主键的两种方式——selectKey、useGeneratedKeys
1、useGeneratedKeys+keyProperty实现主键自增这种方式是我们经常用到的方式,如果你的数据库支持自动生成主键的字段(比如 MySQL 和 SQL Server),那么你可以设置 useGeneratedKeys=”true”,然后再把 keyProperty 设置为目标属性就 OK 了。eg: <insert id="insert" parameterType="im.ziwo.audit.baseservice.model.Attachment" useGenerat原创 2021-09-30 13:51:10 · 887 阅读 · 0 评论 -
【redis 二】常用命令以及应用场景
简介:redis(REmote DIctionary Server(远程字典服务器))是一款高性能的NOSQL(Not Only Sql)系列的非关系型数据库,Redis是用C语言开发的一个开源的高性能键值对(key-value)分布式内存数据库,被人们称为数据结构服务器。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s ,这个数据我门可以用 redis-benchmark 来测试,下面是我的腾讯云服务器,2.91秒写了100000次,2.7原创 2020-06-09 11:59:43 · 268 阅读 · 0 评论 -
【MySql】组合查询实战技巧
1.场景再现如下图:有时候可以只用cid进行查询,有时候也只用rname查询,有时候二者之间又要结合查询,其中的rname为模糊查询。综上分析组合查询可以解决问题!2.代码 JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource()); String sql="select * from tab_route where...原创 2019-08-23 10:30:26 · 186 阅读 · 3 评论 -
【mysql】mybatis,防止sql注入原理以及#{}和${}区别
1、MyBatis如何防止SQL注入 SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者)。[摘自] SQL injection - WikipediaSQL注入,大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如“or ‘1’=’1’”这样的语句),有可能入侵参数检验不足的应用程序。所以,在我们的应用中需要做一些工作,来防备这样的攻击方式。在一些安全性要求很高的应用中(比如银转载 2021-03-08 13:26:00 · 2147 阅读 · 1 评论 -
【SQL server触发器】触发器基础知识
前言:触发器与存储过程有一点点差别的,那么我们什么时候要用触发器,接下来将给大家揭晓!1、什么是触发器触发器是一个在修改指定表中的数据执行的存储过程。通常通过创建触发器来强制实现 不同表 中的逻辑相关数据的引用完整性或一致性。由于用户不能绕过触发器,所以用来 强制实施复杂的业务规则!以此确保数据的 完整性 !一开始以为触发器没什么总结的,但是通过系统的学习,发现还是有必...原创 2018-10-02 12:27:06 · 1641 阅读 · 13 评论 -
【SQL触发器】类型 FOR 、AFTER、 Instead of到底是什么鬼
前言:上一篇博客讲述了触发器的基本概念,触发器什么时候用,为什么用!这篇博客将简述触发器的类型,由于FOR触发器与AFTER触发器是一个作用,所以触发器分为FOR触发器,与Instead of 触发器!1、AFTER(for)触发器 (操作后)after触发器是指在操作成功后,所采取的一些动作,2、instead of 触发器(操作前)对数据的操作只是一个“导火索”而已,真正起作用的是触...原创 2018-10-03 22:58:51 · 30960 阅读 · 92 评论 -
【mysql 】(联合查询)union all应用
根据雇员的家庭信息,统计雇员的孩子数量... “用外连接进行行列转换(列→行):汇总重复项于一列”部分, 我们可以求得以员工为单位的员工子女列表。有了这个列表后,对员工进行一下聚合很容易就可以知道每个员工抚养了几个孩子。 输 出结果如下所示: employee child_cnt -------- --------...转载 2021-02-18 22:46:55 · 168 阅读 · 2 评论 -
【mysql】分组之后 如何查询总条数
情况1、查出总的记录条数SELECT count(*) FROM 表名 WHERE 条件情况2、在情况1的基础上加上group bySELECT count(*) FROM 表名 WHERE 条件 GROUP BY 条件查询出来的是每组的数据情况3、获得情况2的总条数select count(*) from(SELECT count(*) FROM 表名 WHERE 条件 GR...原创 2019-04-04 15:07:01 · 10162 阅读 · 11 评论 -
sql server数据库恢复挂起的解决办法
我改了我的数据源的位置,然后charge数据库就显示了恢复挂起的字样,于是我就查找了一番,解决了此问题! 之所以会出现恢复挂起,是因为已经确定了charge数据库的路径,一旦路径发生变化,这个数据源就找不到数据,数据源就会发生错误。后来我又将我以前的路径恢复,发现还是不行,于是从度娘哪里找到了答案!就是将你的路径更新就可以了!下来请看解决办法! 1、ctrl+r运行 输入services.msc,原创 2017-10-25 09:31:28 · 20521 阅读 · 51 评论 -
sql入门经典总结
匆匆忙忙的过去了一个多月,sql这本书竟然拖拉了这么长时间,这次终于完结了,前边应该有好多总结的,都保存到了桌面上,可是因为一次意外,电脑死机了,只能重装系统,也没有备份,就什么都没了,最后奉上一张思维导图。原创 2017-07-31 08:52:38 · 443 阅读 · 10 评论 -
mysql 教程(给自己看的)
本单元目标一、为什么要学习数据库二、数据库的相关概念 DBMS、DB、SQL三、数据库存储数据的特点四、初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MySQL服务的启动和停止 ★ MySQL服务的登录和退出 ★ MySQL的常见命令和语法规范 五、DQL语言的学习 ★ 基础查询 ★ 条件查询翻译 2020-08-13 09:08:19 · 276 阅读 · 0 评论 -
【redis 五】Redis持久化之aof
前言上一篇文章详细的介绍了redis RDB持久化,详细的讲述了其原理优缺点,接下来着重讲解AOF持久化。1、官网介绍地址:https://redis.io/topics/persistence以下内容为有道词典翻译AOF持久性会记录服务器接收的每个写入操作,这些操作将在服务器启动时再次播放,以重建原始数据集。使用与Redis协议本身相同的格式记录命令,并且采用仅追加方式。当日志太大时,Redis可以在后台重写日志。如果您希望,只要您的数据在服务器运行时就一直存在,则可以完全禁用持久性。可以在原创 2020-06-10 22:56:56 · 337 阅读 · 0 评论 -
【redis 四】一文搞懂redis持久化之RDB
前言:redis持久化分为RDB和AOF,此篇博文着重讲解RDB方式的持久化。演示系统 centos7。1、官网说明地址:https://redis.io/topics/persistence以下内容为有道词典翻译Redis持久性RDB持久性按指定的时间间隔执行数据集的时间点快照。RDB的优势RDB是Redis数据的非常紧凑的单文件时间点表示。RDB文件非常适合备份。例如,您可能希望在最近的24小时内每小时存档一次RDB文件,并在30天之内每天保存一次RDB快照。这使您可以在灾难情况下轻松还原创 2020-06-10 17:22:48 · 2233 阅读 · 0 评论 -
【redis 三】redis.conf 配置文件解析
redis.conf 配置项说明如下:Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程,守护式进程就是说可以后台运行。daemonize no当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis.pid指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应原创 2020-06-09 21:55:33 · 149 阅读 · 0 评论 -
【redis 一】前奏 Nosql基石:CAP理论+BASE理论
**CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。**而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。**所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。****CA 传统Oracle数据库 AP 大多数网站架构的选择 CP Redis、Mongodb**原创 2020-06-09 10:45:57 · 433 阅读 · 1 评论 -
【mysql】日期数据插入mysql数据库时,日期总会少一天的解决办法
百度了之后,发现有提到可能是驱动的问题,就检查了下驱动信息,果然发现连接参数中的字段serverTimezone设置为UTC,检查之后改为HongKong 或者 Asia/Shanghai就可以了jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&useSSL=false&u...转载 2019-12-01 19:33:55 · 3768 阅读 · 3 评论 -
数据库——彻底明白超键、候选键、主键、外键
知识就是一遍又一遍的学,每次的学习都有不一样的收获和感受,然后得到了收获就该是分享的过程了,很多人都不易区分超键、候选键、主键、外键这四个键的区别,下来为了大家少走弯路,特总结了此篇博客!1、书中的定义超键(super key): 在关系中能唯一标识元组的属性集称为关系模式的超键候选键(candidate key): 不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了!主键(原创 2017-10-05 11:49:52 · 56378 阅读 · 49 评论 -
连接数据库之重构sqlhelper
前言数据库的连接非常重要,以前对于数据库的连接都是照着敲,今天总结了一下,发下可以完全的背着敲下连接数据库的所有代码!总结可以让你的思路满满的变得清晰,接下来一起来看看我的总结吧!1、连接数据库代码: public class SqlHelper { public int test() { //第一步,连接数据库 ...原创 2018-09-28 14:41:01 · 466 阅读 · 100 评论 -
【sql server 数据库】彻底区分char、 nchar、 varchar、 nvarchar它们之间的关系以及什么时候该用
前言:对于数据库中char、 nchar、 varchar、 nvarchar这四个类型之间很多人都能说个大概,但是细小的部分还是不够详细,或有些混淆!所以特来总结一下!1、四者之间的区别:首先明确一点,这四个类型 都 可以存储任何语言,不是说varchar,char只能英文,这个可以自己去数据库去实践。在了解之前我们先简单的学习一下ANSI与Unciode,ANSI它的字符采用8bit...原创 2018-12-30 10:20:01 · 1960 阅读 · 74 评论 -
【mysql】完全卸载,启动,关闭,登录,以及目录结构
1.mysql的完全卸载(1)在安装mysql的目录找到my.ini文件复制 datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/”主要是为了记住这个路径然后卸载MySQL,window+r 输入control 快速进入到控制面板,点击卸载程序找到Mysql 进行卸载...原创 2019-07-07 09:21:06 · 256 阅读 · 5 评论 -
redis在windows环境下闪退的有效的解决办法
1.在解压后的redis文件夹下新建立一个文本文档(.txt文件)2.在文本文档中写入redis-server.exe redis.windows.conf 这句话3.将文件名改成start.bat4.打开redis.windoows.conf文件,在最后一行加上maxmemory 209715200...原创 2019-08-14 21:50:44 · 2584 阅读 · 8 评论 -
【MySQL 5.6压缩包版在Windows下配置安装详解】
Windows 下安装 MySQL 有两种方式,一种是下载安装包,根据提示一路 next 安装,不需要什么配置,比较简单;另一种是下载压缩包,通过命令和配置来安装,也不难,个人感觉更简单。本篇就采用第二种方法安装。1,下载MySQL压缩包1.1,打开https://www.mysql.com/,进入MySQL的官方网站,点击 Downloads,进入 下载中心1.2,在 下载中心...转载 2019-09-14 11:34:06 · 602 阅读 · 3 评论 -
【mysql】解决mysql5.6解压版存入中文数据乱码问题(设置编码格式为utf-8)
1.情景再现刚刚在mysql数据库中插入的中文显示乱码:如下2.排查原因与解决办法(1)查看数据编码的格式是否都为utf-8输入下面语句,然后执行,show VARIABLES like '%char%';出现下图,发现在character_set_database 与character_set_server的编码方式为latin1,但是其余的为utf-8,但是我是想以utf-8存...原创 2019-09-17 21:31:15 · 425 阅读 · 4 评论 -
【数据库】解剖式学习无损分解
前言:无损分解是数据库中一个比较重要的知识点,这个还是比较值得总结的!其中有些东西我们还是容易模糊的,如果你想彻底搞明白无损分解,可以认真的看下面的内容!1、为什么会有分解因为分解能消除数据冗余和操作异常现象,就是说如果我们的模式中有冗余问题,那么我们分解它!2、什么是无损分解无损分解指的是对关系模式分解时,原关系模型下任一合法的关系值在分解之后应能通过自然联接运算恢复起来, 反之,则称...原创 2018-10-24 09:39:33 · 10370 阅读 · 30 评论