草庐IT

Mysql 以字符分割一行变多行(substring_index函数)

问题有时候我们表里会存在某个字符(例如经常用到的,)分割的分割的数据,但是在使用的时候要将存在字符分割数据拆分,我们一般的做法先从数据库中将数据查询出,在内存中通过字符串分割函数split进行处理,不会在sql中通过函数进行拆分,这也符合阿里的规范,但是如果我们是出报表,通过其他平台写sql的方式进行拆分展示,不经过内存字符串分割,这时候我们只能通过sql函数substring_index来处理,下面介绍2种方式解决方案创建表createtabletb_staff_position_info(idvarchar(255)notnullcomment'主键'primarykey,created_

第78讲:截取MySQL Binlog二进制日志中特定部分内容的技巧

文章目录1.为什么要截取Binlog日志中的部分内容2.针对标识位截取Binlog日志中的部分数据2.1.以标识位号截取Binlog日志的方法2.2.截取Binlog日志中的部分数据2.3.模拟简单基于标识位的Binlog数据恢复3.针对事件范围截取Binlog日志中的部分数据1.为什么要截取Binlog日志中的部分内容我们通过Binlog二进制日志恢复数据时,一般都会先用备份恢复全库的数据,然后再使用Binlog恢复备份中不存在的数据,因此再使用Binlog进行数据恢复时,并不是直接恢复整个Binlog日志中的数据,只是恢复Binlog中的部分数据。根据特定的情况以及需求去恢复Binlog日

mysql:更好的解决方案,如果

我有链接:三角形的类型我的答案是:SELECTIF(A=BANDA=CANDB=C,'Equilateral',IF((A=BORA=CORB=C)AND(A+B)>C,'Isosceles',IF(A!=BANDA!=CANDB!=CAND(A+B)>C,'Scalene','NotATriangle')))FROMTRIANGLES到目前为止,它正确但我以某种方式使用了一个混乱的嵌套IF.我的问题是,有没有更好的方法来解决优雅和效率?多年来,我有点熟悉SQL查询,但是我很少使用它,因为我更进入前端开发。谢谢。看答案您需要使用案例语句,而不是使用:SELECTCASEWHEN(A=BANDA

【数据库课设】机票预订系统 java+mysql实现 附源码

   个人简介👨🏻‍💻个人主页:陈橘又青🏃🏻‍♂️博客记录心情,代码编写人生。🌟如果文章对你有用,麻烦关注点赞收藏走一波,感谢支持!🌱欢迎订阅我的专栏:【Java进阶之路】带你入门Java,从0到1。                                  【Java全栈编程】带你项目实战,掌握核心。前言这几天开始大二期末数据库的课程设计了,我的题目是[机票预订系统],这里把自己的一些项目思路记录下来供大家参考,大家一起交流。(javasql代码系统说明书)的下载地址放在文章末尾,需要的同学可以自行下载。课程设计摘要该设计是以现有的航班管理工作环境为背景,根据飞机订票的基本应有环节,

[MySQL]事务原理之redo log,undo log

🌈键盘敲烂,年薪30万🌈目录一、log日志文件📕事务执行流程📕redolog📕undolog二、总结👀再来一遍ACID1.原子性:原子性确保事务作为一个整体执行,要么全部执行成功,要么全部不执行。2.一致性:一致性确保事务将数据库从一个状态转换为另一个状态。3.隔离性:隔离性确保并发执行的多个事务互相隔离。4.持久性:事务一旦提交,其修改将永远保存在数据库中。一、log日志文件📕事务执行流程为什么会有日志❓先说结论:  数据库日志的存在是为了确保事务的持久性,支持故障恢复和并发控制,并提供回滚、撤销以及备份和恢复的功能。日志记录了对数据库的操作,使得数据库系统能够有效地管理数据的修改和恢复。确

MySQL-07.单行函数

C-07.单行函数1.函数的理解1.1什么是函数函数在计算机语言中的使用贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样即提高了代码效率,又提高了可维护性。在SQL中我们也可以使用函数对检索出的数据进行函数操作。使用这函数,可以极大地提高用户对数据库的管理效率。从函数的定义角度出发,我们可以将函数分成内置函数和自定义函数。在SQL语言中,同样也包括了内置函数的自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的,本章和下一章讲解的是SQL的内置函数。1.2不同DBMS的函数的差异我们在使用SQL语言时,是和各种不同的DB

SSRF漏洞理解进阶&SSRF+gopher打内网(redis、mysql、fastcgi)& SSRF相关基础概念

基础概念首先要了解几个概念:内网&外网代理curlgopher、ftp、dict伪协议file_get_contents()、fsockopen()、curl_exec()等函数内网&外网内网和外网的概念并不是绝对的,主要要明白的就是内网是外网无法直接访问的。简单的说,自己的单位或者家庭、小区内部有局域网;单位、家庭之外有覆盖范围极大的网络,比如internet,这个大网络延伸到了我们的单位、家庭(通过光纤、网线、电话线等)。我们把自己的局域网连接到internet上,那么我们的访问范围就从局域网扩展到了整个internet。这时候,就说局域网是内网,internet是外网。同理,如果你们单位

[MySQL] MySQL中的索引

文章目录一、初识索引1、1索引的概念1、2索引案例二、认识磁盘2、1磁盘结构2、2操作系统与磁盘的数据交互2、3 磁盘随机访问与连续访问2、4 MySQL与磁盘的数据交互三、索引的理解3、1建立测试表3、2 为何MySQL与磁盘IO交互是Page3、3理解Page3、3、1页目录3、3、2多个Page3、4索引所能够采用的数据结构 3、5B树与B+树3、6聚簇索引与非聚簇索引四、索引操作4、1索引的创建4、1、1主键索引的创建4、1、2 唯一索引的创建4、1、3 创建普通索引4、1、4 全文索引的创建4、2查询索引4、3删除索引4、4索引创建原则🙋‍♂️ 作者:@Ggggggtm 🙋‍♂️👀 

使用Navicat生成MySQL测试数据

使用Navicat生成MySQL测试数据Navicat版本:16.1.3场景:因为某些原因,本人负责项目的数据库需要从MySQL迁移到PostgreSQL,所以就想测试一下PostgreSQL数据库的分区表性能。测性能的话大概需要两千万的测试数据,从生产库导出的话呢阿里云有限制,因为数据库实例是“自由模式”,每天只能免费导出100W条,想要导出更多的话就得升级实例(得花钱,不可取)。又想到了可以写脚本在服务器上去查询数据然后导出成csv文件再下载到本地,但是这样比较麻烦也就放弃了。因为不要求数据非常的精确,所以就想到了自己造数据的方式,第一反应当然是通过存储过程,但是呢对于存储过程这种东西吧,

数据库迁移之mysql到达梦数据库

1背景介绍由于业务需求要求数据库国产化,因此将数据从mysql数据库中迁移到国产达梦数据库中。将mysql中的每个库迁移到达梦不同模式下,下面为详细过程。2具体步骤(1)安装达梦客户端工具(2)点击选择DM管理工具(3)创建模式和用户在用户菜单中,新建一个TEST模式以及相应的用户。(4)打开DM迁移工具(5)创建工程在DM迁移工具中右键空白处,创建一个名为mysql的工程(6)创建迁移任务点击新建的mysql工程,右键迁移,新建迁移任务mysqltransfer(7)配置mysql源依次添入mysql的ip、port、用户名和密码。(8)配置达梦数据库信息依次添入达梦数据的ip、port、用