
数据库
文章平均质量分 59
Coder-文小白
95后Java后端程序员,新晋菜鸟奶爸,开始尝试探索副业的小白。微信公众号:Coder-文小白
展开
-
关于TDSQL(MySQL)的简单知识分享
最近在系统改造过程中,接触到了国产分布式数据库TDSQL,记录一下关于TDSQL的部分知识点。TDSQL是腾讯推出的一款兼容MySQL的自主可控、高一致性分布式数据库产品。原创 2024-02-07 06:00:00 · 9069 阅读 · 0 评论 -
同一条SQL语句,MyBatis 查询结果与 MySQL 执行结果居然不一致!
一、前言不知道大家平时在开发过程中有没有遇到这样的问题,同一条SQL语句,MyBatis 查询结果与 MySQL 执行结果居然不一致,具体说应该是MyBatis 查询结果比MySQL 执行结果的数据更少。不要不相信,如果不注意,这样的坑,你还真有可能会踩的。二、代码演示下面用代码简单演示一下:创建两张表用于测试用:teacher表:CREATE TABLE `teacher` ( `id` int(11) NOT NULL, `name` varchar(255) CHARAC原创 2020-12-16 16:12:56 · 9376 阅读 · 1 评论 -
XMLParserException: XML Parser Error on line 11: 对实体 “characterEncoding“ 的引用必须以 ‘;‘ 分隔符结尾。解决方法
今天使用mybatis逆向工程生成mysql数据库的代码时,报出了一个异常:org.mybatis.generator.exception.XMLParserException: XML Parser Error on line 11: 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾。 at org.mybatis.generator.config.xml.ConfigurationParser.parseConfiguration(ConfigurationParse原创 2020-09-18 16:33:37 · 1655 阅读 · 0 评论 -
浅析sql中的in与exists,not in与not exists的区别
在我们平时开发中书写SQL语句时,in、not in、exists、not exists都是可能会用到的,那么它们之间有什么区别呢,有没有什么可能潜在的坑呢?创建测试数据库:CREATE TABLE `testa` ( `id` int(11) NULL DEFAULT NULL);INSERT INTO `testa` VALUES (1);INSERT INTO `testa` VALUES (2);INSERT INTO `testa` VALUES (NULL);INSERT原创 2020-08-05 16:39:20 · 502 阅读 · 0 评论 -
mysql事务和隔离级别底层原理浅析
首先回顾一下什么是事务,事务是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元)。事务的特性:原子性(Atomicity):原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性(Isolation):一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据原创 2020-07-31 10:48:42 · 288 阅读 · 0 评论 -
使用SQL语句实现数据累加
有如下数据:假设现在有一个需求,要求查询出随着id增加,统计num累加后的结果的数据集,如下:这里介绍两种SQL的实现方式:1.方式一:SELECT id, ( SELECT sum( num ) FROM xu_hao b WHERE b.id <= a.id ) AS total FROM xu_hao a GROUP BY id;2.方式二:SELECT b.id, sum( a.num ) AS total FROM xu_hao a, xu_hao b原创 2020-07-09 12:12:19 · 9980 阅读 · 0 评论 -
MySQL数据库update A set num=num+ ? where id=?并发执行情况下存在线程安全问题吗?
首先,先说结论:这个SQL语句执行可以看做是原子操作,没有线程安全问题。使用代码演示一下:1.创建一个xu_hao表,为了简单,只有id和num两个字段CREATE TABLE `xu_hao` ( `id` int(11) NOT NULL, `num` int(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_gener原创 2020-06-05 09:55:18 · 5131 阅读 · 1 评论 -
用SQL语句删除数据库重复数据,只保留一条有效数据
在实际开发中,可能会遇到数据库多条数据重复了,此时我们需要删除重复数据,只保留一条有效数据,用SQL语句怎么实现呢,下面我们模拟一下:1.准备重复数据:2.过滤出存在重复数据的信息:SQL语句:SELECT dname FROM dept GROUP BY dname HAVING count( dname ) >1数据库筛选结果:3.从重复数据中筛选出一条需要保存的数据:SQL语句:SELECT min( deptno ) -- max( deptno )原创 2020-05-12 10:58:34 · 25239 阅读 · 3 评论 -
mysql8.0只能本地连接解决方法
最近,在安装好新版本的mysql后,使用java程序连接出现几个问题,首先是数据库连接url的问题,新的连接url需要加上时区这个参数,例如:jdbc:mysql://127.0.0.1:3306/localmysql?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai 这样才能正常连接到数据库...原创 2020-01-01 10:52:02 · 3238 阅读 · 2 评论 -
mysql常用查看表结构的SQL语句
1.查看表结构:SELECT column_name,data_type FROM information_schema.columns WHERE table_name='数据库表名';2.查看表的主键:SELECT column_name AS 主键 FROM INFORMATION_SCHEMA.`KEY_COLUMN_USAGE` WHERE table_name='数据库表名' ...原创 2019-12-31 21:53:15 · 8684 阅读 · 0 评论