
MySQL
Counter-Strike大牛
业界老小白
爱工作,爱生活
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL报错:text字段报Data too long for column
在项目发布前,复制原库创建新库时,发现写入数据时出现“Data too long for column”错误。经检查,字段类型一致,怀疑是数据库配置问题。最终发现新库字符集为utf8m64,而原库为utf8。将新库字符集改为utf8后,问题解决。原创 2025-02-14 14:01:14 · 588 阅读 · 2 评论 -
MySQL迁移达梦,两个数据库的不同之处,需要修改的地方有哪些(持续更新)
MySQL与达梦数据库在函数使用和语法上存在显著差异。例如,DATEDIFF函数在MySQL中直接比较两个日期,而在达梦中需要指定比较的单位(如DAY或MONTH)。去重操作在MySQL中可通过DISTINCT、GROUP BY等多种方式实现,而达梦则限制GROUP BY仅用于统计函数。此外,达梦不支持MySQL的GROUP_CONCAT函数,需使用LISTAGG替代。在表结构查询上,达梦使用SYS.DBMS_METADATA.GET_DDL而非MySQL的information_schema。其他差异包括原创 2024-09-19 16:30:04 · 1330 阅读 · 0 评论 -
MySQL迁移达梦,开启兼容MySQL语法,少走很多弯路
MySQL迁移到达梦之后,之前的很多SQL语句都会报错。其实只要开启兼容MySQL语法,90%的问题就迎刃而解了。打开dm.ini配置文件,找到。,把值改为“4”即可。记得重启数据库服务。原创 2024-09-18 16:31:28 · 2097 阅读 · 0 评论 -
MySQL查询数据库表信息、表结构字段信息的SQL语句
【代码】MySQL查询数据库表信息、表结构字段信息的SQL语句。原创 2024-08-07 15:58:16 · 376 阅读 · 0 评论 -
MySQL事务隔离级别及MVCC详解
MySQL的事务隔离级别包括SERIALIZABLE、REPEATABLE-READ、READ-COMMITTED和READ-UNCOMMITTED,每种级别在并发事务中表现出不同的数据一致性问题。SERIALIZABLE通过串行执行事务避免问题,但性能较差;REPEATABLE-READ是默认级别,保证事务内多次读取数据一致,但可能出现幻读;READ-COMMITTED允许读取已提交的数据,可能导致不可重复读和幻读;READ-UNCOMMITTED允许读取未提交的数据,可能导致脏读、不可重复读和幻读。通过原创 2024-03-19 21:34:24 · 1316 阅读 · 0 评论 -
MyBatis联表查询时,主查询表的字段怎么统一加别名(通用方案)
但是每次写一个联表查询SQL都需要这样来一次,维护起来就比较困难了。一般来说,MyBatis生成的xml sql文件中,会有一个。,方便查询时直接引用。原创 2023-08-28 18:09:13 · 3460 阅读 · 0 评论 -
DataGrip快捷键及使用技巧
本文介绍了DataGrip的快捷键和使用技巧,帮助用户更高效地操作数据库。快捷键包括打开表、新建console、格式化SQL、提交、回退等常用功能。使用技巧方面,DataGrip在数据复制、快速打开表、SQL编辑、历史记录等方面相较于Navicat有显著优势。例如,DataGrip支持多种数据复制格式,双击Shift快速搜索表,SQL格式化后自动换行,Command + Enter用于执行SQL和保存数据,历史记录功能方便查询和恢复。这些功能使DataGrip在数据库管理工具中脱颖而出,提升了用户的工作效率原创 2023-08-07 17:53:15 · 8895 阅读 · 0 评论 -
使用JOIN查询数据重复,怎么办?使用count统计怎么写SQL?
如果要用count统计数据,直接按最开始的写法也会统计多出来,而且此时distinct和group by也不好用了。distinct直接没效果,group by则变成了按tbl_a的id分别统计个数。原创 2023-07-20 11:35:12 · 889 阅读 · 0 评论 -
MySQL通过JSON格式查看SQL执行详细步骤
SQL语句]原创 2023-03-16 14:49:42 · 878 阅读 · 0 评论 -
怎么通过SQL取出数据库中JSON字段中的值
我们的数据库中经常会遇到很多JSON的字段,自己写的也好,别人写的也好。一般我们取这个值的话,会创建一个typeHandler来取值。那么如果我们想直接取到JSON里的值该怎么办呢?其实很简单,SQL自带的函数就可以解决。加入现在有一个字段叫detial,字段内容如下:{"name":"Bruce","age":24,"gender":"男"}那么我们取出name的话,写法如下:select JSON_EXTRACT(detail, '$.name') from ...;这样就可以直接取到JS原创 2022-03-12 15:06:11 · 20389 阅读 · 5 评论 -
MySQL写法 - 按条件分别统计同一个字段的数据
有时候会需要在一条SQL中统计出某一个字段在不同条件下的值,这时候这个写法就起作用了。select sum(case amountType when 1 then amount else 0 end) oneAmount, sum(case amountType when 0 then amount else 0 end) zeroAmountfrom table_namewhere conditions;喜欢本文的朋友不要忘记点一个免费的赞哦,你的赞将是我最大的动力。如果觉得有原创 2022-02-21 17:14:20 · 2355 阅读 · 0 评论 -
MySQL|MyBatis如何实现批量插入数据时如果存在就更新或者忽略
首先,需要实现更新或忽略的数据的判别字段必须是主键或存在唯一索引(可以是单列或多列)。比如要根据id判断是否重复,那么id必须是主键或者存在唯一索引。比如要根据rid + type + date判断是否重复,那么要建立3个字段联合的唯一索引。然后就是修改SQL了,如下:######存在就更新:REPLACE INTO 表名(字段1, 字段2, ...) VALUES(值1, 值2, ...原创 2019-03-26 14:18:18 · 4717 阅读 · 0 评论 -
加了唯一索引,但数据还是有重复的,原来如此。
今天刚创建了一个表,为订单号创建了唯一索引。在测试同学测试的过程中,看了一下数据,竟然有重复订单号?怎么想都想不明白,问了另一个大牛,他告诉我:因为分库分表了。唯一键只能保证一个库中不重复,而不同库,无法限制。我分库用的是平台ID,分表用的是订单号,我看了一下那两条数据,果然,平台ID不一样,那么他们有可能不在一个库里。大牛说:你用同一个平台ID insert一下,我试了一下,果然插...原创 2019-09-20 17:44:35 · 4149 阅读 · 2 评论 -
MySQL中文排序问题
起因前两天做了一个需求,代理商列表是优先按照昵称排序的。但是客户发现,列表里并没有按照昵称排序,而是乱序的。但是同样首字母的又排在一起,于是排查了一下。经过问了大佬,大佬也以为是按照拼音排序的,给他看了SQL之后,他也表示:“随便吧。”然后我突然想到,是不是按照数据库的编码(Unicode)排序的。把几个名字翻译成Unicode之后,发现果然是按照Unicode编码排序的。结果然后就找了相关资料,找到了按照汉字拼音排序的方法,如下:order by convert(name using gbk)原创 2020-09-27 15:27:27 · 469 阅读 · 0 评论 -
MySQL自带的AES加密解密比较常用的使用方法
接手的老项目中,有些SQL使用了MySQL自带的AES加密解密,为了方便操作数据,研究了一下使用方法,在这里记录一下。加密update user_password set password = HEX(AES_ENCRYPT("{加密数据}", "{密钥}")) where user_id = 1;解密select AES_DECRYPT(UNHEX(password), "{密钥}") from user_password where u_id = 1;创作很累,点赞免费。自愿打赏,不为原创 2021-12-13 14:57:37 · 13379 阅读 · 0 评论