![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
文章平均质量分 63
掉发的小王
与其临渊羡⻥,不如退⽽结⽹。小王博客基地
展开
-
MySQL中varchar和int隐式转换的注意事项!
在一个阳光明媚的下午,我们的测试在运行SQL是发现了一个灵异事件。别着急,等我慢慢说来,是一个查询库存的SQL,控制台打印了,查询为0条记录。想着不太信,自己把SQL粘出来执行一下,刚好有个varchar类型的字段,查询的是一堆数字,忘记加引号了。结果查询出来了一条!两脸懵逼!从头看到结尾,发现我们查询条件的字段值为231120103,把数据库中的查询出来了!经过半天的探索,发现这是MySQL优化器中,判断数据类型不匹配的比较时,MySQL 优化器会进行隐式类型转换!原创 2023-12-26 11:35:50 · 1308 阅读 · 1 评论 -
拒绝select *,Navicat快捷查询表中所有字段以,隔开两种方式【附带阿里开发手册】
今天公司规定了不要使用SELECT *进行查询,让我想到阿里的《Java 开发手册》中的ORM 映射规范也是这样的,于是翻出来看看,刚刚好重温一下!规范看了一定要实践,严格规范自己的代码风格,做一个优雅的码农哈!黄山版《Java 开发手册》-黄山版下载这样就节省了很多时间,遵守了规范,一举两得!对你有帮助,还请不要吝啬你的发财小手点点关注哈!写作不易,大家给点支持,你的支持是我写作的动力哈!关注小编的微信公众号,一起交流学习!文章首发看哦!原创 2023-02-23 18:01:32 · 2254 阅读 · 2 评论 -
已完美解决java.sql.SQLException: Data truncated for column ‘id‘ at row 1
一、起因小编是因为在插入一条数据到mysql中,采用Mybatis-plus自动生成id长度超过了数据库的长度导致报错了,报错信息如下Cause: java.sql.SQLException: Data truncated for column 'id' at row 1; Data truncated for column 'id' at row 1; nested exception is java.sql.SQLException: Data truncated for column 'id'原创 2021-12-15 11:08:24 · 9689 阅读 · 0 评论 -
MySQL日志系统redo log(两阶段提交)和binlog
一、前言本篇内容为极客时间的课程,主要为了以后自己学习,侵权联系删除相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?MySQL 可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢?我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键 ID 和一个整型字段 c:mysql> create table T(ID int primar原创 2021-10-29 15:37:24 · 1412 阅读 · 4 评论 -
一个故事教你吃透Redis
一、我是Redis你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上。说起我的诞生,跟关系数据库MySQL还挺有渊源的。在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展的越来越快,它容纳的数据也越来越多,用户请求也随之暴涨,而每一个用户请求都变成了对它的一个又一个读写操作,MySQL是苦不堪言。尤其是到“双11”、“618“这种全民购物狂欢的日子,都是MySQL受苦受难的日子。据后来MySQL告诉我说,其实有一大半的用户请求都是读操作,而且经常都是重复查询一个东西,转载 2021-09-24 08:56:14 · 263 阅读 · 2 评论 -
ORACLE:根据父id查询所有子孙数据,或者根据子id查询所有父数据(start with connect by prior)
一、需求:我们在开发中经常遇到一种数据库表的设计:一个表中包含父子信息数据,也就是常说的树形数据. —> 最常见的例子就是省市区一体表,就是通过id、pid、level来进行控制,从而一张表来存储数据.我们进行拿数据的时候,不用再连表拿取,直接通过(start with connect by prior)直接便利就会得到数据.二、准备省市区表:CREATE TABLE REGION ( "ID" NUMBER NOT NULL, "name" VARCHAR2(200 BYTE),原创 2021-08-25 14:26:38 · 3864 阅读 · 6 评论 -
使用JDBC(Dbutils工具包)来从数据库拿取map类型数据来动态生成insert语句
前言:大家在使用JDBC来连接数据库时,我们通过Dbutils工具来拿取数据库中的数据,可以使用new BeanListHandler<>(所映射的实体类.class),这样得到的数据,不知道表的字段名字,我们在往数据库里添加时,需要自己来挨个写字段,非常麻烦!于是,小编想到通过MapListHandler(),结果集为一个List<Map<String, Object>>,map中key为数据库字段名字,value为对应的值,这样就可以实现insert语句动态拼接了原创 2021-08-16 11:20:16 · 840 阅读 · 0 评论 -
解析JSON字符串并添加到数据库中(超简单)
一、需求:我们在开发中也会遇到要我们把json格式数据解析好,然后保存到数据库中.方式方法有很多,小编觉得使用fastjson,最容易实现.二、依赖准备 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.69</version> </dependency>三、原创 2021-08-25 08:54:23 · 5081 阅读 · 1 评论