sql
文章平均质量分 67
JobsTribe
术业专攻,笔耕不辍
展开
-
搭建云服务器之安装mysql5.7及常见问题集锦
centos8安装mysql,经过多次安装实践,此教程可以正常安装转载 2021-12-19 19:19:41 · 189 阅读 · 0 评论 -
【MySQL系列】一条查询sql如何执行
SQL的执行顺序是怎样的?sql语句顺序:select distinct … from table where … group by …having … order by … limit …执行顺序:①from ②where ③group by ④having ⑤select ⑥distinct ⑦order by ⑧limit执行顺序:从表中查询数据,先经过where进行筛选出有价值的数据,对这些有价值的数据进行分组,分组之后进行having进一步筛选。select进行列筛选,查询出原创 2021-09-27 20:04:07 · 226 阅读 · 0 评论 -
【MySQL系列】MySQL事务知识点
事务的特性ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性)Atomicity:原子性,执行的最小单元,不可拆分。Consistency:一致性,事务在执行DML操作时,要么成功,要么失败。Isolation:隔离性。两个事务执行具有隔离性。Durability:持久性。事务执行以后,对数据库的影响是持久的。mysql事务常用的命令开启事务:两个都可以begin;start transaction;原创 2021-09-23 20:19:35 · 806 阅读 · 2 评论 -
【MySQL系列】MySQL基础知识集锦
September 14, 2021SQL分类1.数据查询语言(DQL)数据查询语言(Data Query Language, DQL)是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有FROM,WHERE,GROUP BY,HAVING和ORDER BY。这些DQL保留字常与其他类型的SQL语句一起使用。2.数据定义语言(DDL)数据定义语言 (Data Definition原创 2021-09-23 13:21:23 · 141 阅读 · 0 评论 -
Mybatis使用自定义注解动态配置多数据源
需求说明目前在项目中有多个数据源,需要多个配置。有好几种办法来配置,比如:jdbcTemplate@DS自定义注解下面说明用自定义注解来添加切换多个数据源。pom的依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.22</versio原创 2021-09-08 21:33:21 · 1243 阅读 · 0 评论 -
【Mysql系列】工作常用sql集锦(持续更新)
汇总工作中常用到的sql。获取毫秒级的当前时间用到CURRENT_TIMESTAMP(3)。select CURRENT_TIMESTAMP(3);但是在指定字段时需要注意字段的类型也需要datatime(3)类型。字段类型中,datetime(3) 是精确到毫秒级的,datetime默认是0,精确到秒级的。如何统计某个接口调用的总次数?用group by,如SELECT service, app_key, count(*) FROM trace_log t WHERE cr原创 2021-04-24 15:44:11 · 61 阅读 · 0 评论 -
【Mysql系列】Mysql与本地时间不一致 ,导致update无法正常更新表
记录在测试时出现的mysql问题。问题描述摘要状态项目,项目的主要内容是更新表中商品入驿站的入库、上架和签收状态,然后在手机客户端会查询表来展现商品的状态。这次重构项目,在自测完成后交给测试测试,测试用手机客户端来测试。在测试时发现在做了入库后,更新上架操作时却始终更新不了表的状态。问题分析这次测试是在测试环境进行测试的。查看打印的日志分析日志,并没有报错。而且自测时这个sql也能正常更新表。也就是说,这个sql是没有问题的,只不过update更新条数为0。那么就需要分析什么原因导致sql原创 2021-04-16 19:48:54 · 353 阅读 · 0 评论 -
【Mysql系列】生产问题之mysql死锁和分库分表未带分片键问题
记录生产mysql的问题点。业务场景与问题描述请求一个外部接口时,每天的请求量在900万左右。分为请求项目和回执这两个项目。请求是用来调用外部接口,回执是接收发送的接口。在发送请求前会先插入数据库。在请求后,如果接口返回调用失败,会更新数据库状态为失败。如果发送成功,则会等待上游给出回执消息后,然后更新数据库状态。而在生产运行过程中,半年出现过两次mysql导致的mq消费者堆积的问题。问题分析记录两次不同的原因导致的生产问题及原因分析。mysql死锁问题查看mq聚合平台TPS上生产发原创 2021-04-14 22:42:21 · 629 阅读 · 0 评论 -
sql常见报错问题集锦(持续更新)
汇总在工作中遇到的各种sql问题。bad SQL Grammar:SQLexception is java.sql.SQLException: No value specified for parameter 3问题描述报错信息bad SQL grammar [ update station set reserve2 = ? ,status = ? , phone = (case when dest_phone is null or phone = '' then ? else phone end)原创 2021-04-09 19:31:10 · 1601 阅读 · 0 评论 -
【Mysql系列】Mysql用delete删除数据后无法释放空间
在线上数据库报警说空间快满了,于是开发直接执行delete操作。delete from table_name t where t.create_time > '2021-03-21'结果发现空间并没有释放。什么原因呢?DELETE包含约束条件的执行的sql:delete from table_name t where 约束条件不会立即删除数据,会标记数据,但不会释放空间。如果需要立即释放空间,需要optimize命令:optimize table table_name备注:原创 2021-03-25 23:02:09 · 500 阅读 · 0 评论 -
【Mysql系列】Mysql踩坑:update两次相同数据,影响的行数是否都为1
在重构一个服务时,需要根据mysql update更新的条数来判断执行的是否成功。结果发现update的条数竟然返回是0。经过排查发现:mysql在更新数据时,第一次返回是1,第二次返回就是0。举例:第一次将name改为zhangsan,影响行数为1:第二次拿着相同的数据更新表字段值,影响行数为0:此处需要拿更新的条数,那么就需要更新表中的update_time字段,这样就不管前后更新的数据是否一致了。需要特别注意:update_time最好是毫秒级的,因为程序处理快时秒级的是不管用的。原创 2021-03-15 23:12:10 · 1827 阅读 · 0 评论