![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
mysql专刊
李哈ha
多努力,就有多幸运
展开
-
springboot+canal+mysql+redis缓存双写一致性
canal官网地址:https://github.com/alibaba/canal/wiki/QuickStart基本上按照官网的步骤来就行。原创 2023-09-18 14:26:42 · 527 阅读 · 0 评论 -
Mysql多表联合查询,行转列
core_code是字符,但却搞成 了数字 ,问题就出在sum ,所以 如果不是计算类型的,最好不要用su。项目中,所有的字段是通过key和value的形式存放的,以至于导致查询某一个人的数据,需要进行判断,一开始在网上找了很多,大部分都是 一样demo,第一次尝试,结果不是我想要的。原创 2023-04-19 19:07:20 · 360 阅读 · 0 评论 -
Mysql中 in 和exists 执行的结果为什么不一样
参考地址:https://blog.csdn.net/Maxiao1204/article/details/120467106sql如下;第一条sql SELECT count(*) FROM hlms_toc_role tr WHERE tr.disabled = 0 AND tenant_id =540 and id in ( SELECT原创 2022-05-18 15:14:15 · 562 阅读 · 0 评论 -
Mysql Sql查询之Limit 用法
面试题?你知道mysql 中limit的用法吗? 你是怎么使用的? 在一条sql语句中 limit 1 表示什么,limit 1,3 又是什么意思?这道题本人答的很烂。。。。。在mysql中,limit关键字主要用于指定查询结果从哪条记录开始显示,一共显示多少条记录;它有3种使用语法“LIMIT 初始位置,记录数”、“LIMIT 记录数”和“LIMIT 记录数 OFFSET 初始位置”。当数据表中有上万条数据时,一次性查询出表中的全部数据会降低数据返回的速度,同时给数据库服务器造成很大的压力。这时就原创 2022-04-14 09:38:53 · 7368 阅读 · 0 评论 -
mysql分组查询 取最新一条数据
select * from ( select hai.PROC_INST_ID_ AS processInstanceId, case when hai.ACT_NAME_ is null then hai.ACT_TYPE_ else hai.ACT_NAME_ end AS currentActName from act_hi_actinst hai where hai.PROC_INST_.原创 2022-04-13 16:46:18 · 3531 阅读 · 1 评论 -
Mysql利用存储过程动态拼接sql查询数据
代码如下:// 这个是满足条件需要调用的存储过程 可以看下上篇存储过程迁移数据篇drop PROCEDURE if EXISTS test_dept;CREATE PROCEDURE test_dept () BEGIN DECLARE d_id INT ( 11 ) DEFAULT 0; DECLARE d_name VARCHAR ( 64 ) DEFAULT NULL; DECLARE d_level VARCHAR ( 64 ) DEFAULT NULL; DECLARE flag原创 2022-01-13 17:38:50 · 1923 阅读 · 0 评论 -
mysql利用存储过程迁移数据
本次demo利用存储过程迁移数据是在同一个数据库的实例中,网上查找资料说存储过程如果不在同一个数据库实例中 不能使用。如有此方法demo 可告知本人 万分感谢!!!! 本次demo实现同一个数据苦实例中 不同库 实现的数据迁移 代码;同库不同表:drop PROCEDURE if EXISTS test_dept;CREATE PROCEDURE test_dept () BEGIN DECLARE d_id INT ( 11 ) DEFAULT 0; DECLARE d_na...原创 2022-01-12 15:12:16 · 842 阅读 · 0 评论 -
mysql添加数据之前判断是否存在
mysql支持直接写sql语句做判断,通过查询表数据是否存在,不存在则执行插入操作示例: INSERT INTO tb_news_topic(title,summary) SELECT '218', 'XQ33019920170811142528217' FROM DUAL WHERE NOT EXISTS(SELECT * FROM tb_news_topic WHERE title = '111')语法:INSERT INTO table(field1, field2, fieldn) S原创 2022-01-12 10:39:10 · 6318 阅读 · 0 评论 -
mysql利用存储过程 同实例数据库迁移数据
网上有很多利用存储过程迁移数据,很多是利用游标添加数据 但是 使用游标添加数据 ,会产生数据丢失的问题,,所以在在网上找了相关方法 把相关数据导入到临时表中,我这里是导入到视图中mysql提供了三张插入的方式:类别一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:INSERT INTO目标表 SELECT * FROM来源表 ;类别二、 如果只希望导入指定字段,可以用这种方法:INSERT INTO目标表 (字段1, 字段2, ...)SELECT字段1,原创 2022-01-11 17:01:37 · 532 阅读 · 0 评论 -
MySQL 实现树形的遍历
MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题) 前言: 关于多级别菜单栏或者权限系统中部门上下级的树形遍历,oracle中有connect by来实现,mysql没有这样的便捷途径,所以MySQL遍历数据表是我们经常会遇到的头痛问题,下面通过存储过程来实现。1,建立测试表和数据:DROP TABLE IF EXISTS csdn.channel; CREATE TABLE csdn.channel ( id INT(11) NOT NUL转载 2021-11-16 14:00:00 · 669 阅读 · 0 评论 -
记一次项目中的sql优化
由于得到的结果数据需要从各个表中抽取出来,所以需要连接多张表,导致sql查询的很慢,所以自己就想优化一下1.优化过后的代码<select id="findBySarningList" resultType="com.pti.prosecution.web.dto.Vo.PromptVo"> SELECT IFNULL(a.VISIT_PERS_NM...原创 2019-07-15 18:30:58 · 193 阅读 · 0 评论 -
复杂sql语句 组合判断other choose where and if
<select id="selectByDocPatFollow" resultMap="BaseResultMap"> select a.id,cn_name,a.latest_time,a.follow_count,a.icon,a.flowup_cycle,a.sex,a.is_overTime,a.mobile from jf_sys_patient a left join jf_doctor_pat b on a.id=b.pat_id where b.doc.原创 2021-03-24 17:43:21 · 407 阅读 · 0 评论 -
MySql存储过程
存储过程和函数含义: 事先经过编译并存储在数据库中的一段Sql语句的集合使用的好处:1.简化应用开发人员的工作2.减少数据在数据库和应用服务器之间的传输3.提高数据处理的效率分类:1、无返回无参2、仅仅带in类型,无返回有参3、仅仅带out类型,有返回无参4、既带in又带out,有返回有参5、带inout,有返回有参注意:in、out、inout都可以在一个存储过程中带多个创建存储过程语法:`create procedure 存储过程名(in|out|inout 参数名原创 2021-01-26 17:15:13 · 88 阅读 · 0 评论 -
Mysql函数
字符函数数学函数日期函数其他函数【补充】 • 流程控制函数【补充】练习:查询部门号为 10, 20, 30 的员工信息, 若部门号为 10, 则打印其工资的 1.1 倍, 20 号部门, 则打印其工资的 1.2 倍, 30 号部门打印其工资的 1.3 倍数...原创 2021-01-26 16:21:50 · 69 阅读 · 0 评论 -
Mysql行转列 列转行
行转列准备数据:CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT '用户id', subject VARCHAR(20) COMMENT '科目', score DOUBLE COMMENT '成绩', PRIMARY KEY(id))ENGINE = INNODB DEFAULT CHARSET = utf8;INSE原创 2021-01-05 11:39:55 · 147 阅读 · 0 评论 -
Mysql操作命令删除数据
我这里是docker安装的,1.docker进入mysqldocker exec -it mysql /bin/bansh2.mysql -uroot -p 回车输入密码3.展示所有的表show databses;4.选择操作的表use 库名;5. 提示 databses change 表示成功;show tables;6.选择 需要操作的表 sql操作如:select * from user;...原创 2020-12-15 10:44:33 · 241 阅读 · 0 评论 -
配置Druid监控
写的一个项目 ,政府机关网警,扫描的不安全,使用的技术是Springboot +shiro一直能访问到这个界面找了半天是因为我在shiroConfig里面放行了这个,导致一直能访问到2. 增加druid监控的配置1、POM.xml增加引入: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifact原创 2020-11-18 18:08:08 · 610 阅读 · 0 评论 -
Mybatis根据时间段查询
如果你要严格要求是某一年的,那可以这样查询一天:select * from table where to_days(column_time) = to_days(now());select * from table where date(column_time) = curdate(); 查询一周:select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);查询一个月:原创 2020-11-06 14:18:44 · 5018 阅读 · 0 评论 -
MySql中的锁机制
一、分类MySQL的锁机制不同的存储引擎支持不同的锁机制,分为表级锁、行级锁、页面锁。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁表级锁:开销小,加锁快...原创 2019-10-08 15:43:24 · 131 阅读 · 0 评论