MySQL踩坑记录

查看版本

查看数据库版本

正则

29《MySQL 教程》MySQL 中使用正则表达式
【详解】MySQL中使用正则表达式
mysql正则表达式无法识别\d

mysql正则不支持\d,用[0-9]代替
select mobile from developer_user where mobile not REGEXP ‘^1[3456789][0-9]{9}$’;

MybatisPlus

@Param 注解的四种使用场景
MyBatis 批量插入的 3 种方式,你不会?
MybatisPlus 使用 saveOrUpdate 详解(慎用),及问题解决方法!
Mybatis-plus批量插入三种方式性能对比
使用mybatis plus批量插入数据
批量执行&rewriteBatchedStatements=true深入理解、深度分析。通过查询mysql日志深入理解
【RuoYi-Vue-Plus】学习笔记 23 - Mybatis-Plus(五)批量插入功能(下篇)批处理参数 rewriteBatchedStatements

分页类型转换convert()方法

mybatis-plus分页类型转换
MybatisPlus分页类型转换 不要在用循环转换了

锁表

mysql锁表处理
Lock wait timeout exceeded; try restarting transaction

时间戳转换

spark sql 字符串转时间戳
Spark SQL 将字符串转换为时间戳
mysql时间如何转换时间戳
MySQL 日期、日期字符串、时间戳之间的转换

自定义函数及执行过程及事件

坑!!!MySQL之group_concat_max_len
MySQL group_concat设置group_concat_max_len

需要设置
show variables like ‘group_concat_max_len’;
默认是1024,一般需要增大

MySQL自定义函数(CREATE FUNCTION)

执行函数

select function()

select name from mysql.proc where db=‘dbname’;
select EVENT_NAME,LAST_EXECUTED from information_schema.EVENTS;
但查出来的函数内容不是utf-8显示

数据库配置文件地址

MySQL配置文件查找路径

修改结束符

由于之前做了数据库迁移,有一些库函数需要迁移,但由于库函数中间就有分号,所以会当语句结束来处理,这时候就需要修改结束符,然后再该回去(存储过程同理)
mysql 结束符 delimiter

创建自定义函数与存储过程

mysql 创建自定义函数
Mysql如何创建函数
mysql创建自定义函数与存储过程
mysql中的自定义函数
mysql查看所有存储过程,函数,视图,触发器,表

mysq常用函数

MySQL常用函数整理,建议收藏!
mysql查询常用函数介绍
SQL CAST()函数教程–在SQL中将值强制转换并将其转换为指定的数据类型
mysql中如何把字符串转换为int类型
mysql中很有意思的函数:coalesce,你知道吗?
数据库学习之MySQL (五)——select 语句 IFNULL() CONCAT()的应用
MySQL Replace()函数

迁库

mysql 怎么导入函数_mysql导入导出包括函数或者存储过程_MySQL
MySQL mysqldump 导入/导出 结构&数据&存储过程&函数&事件&触发器

SparkSQL

Spark SQL空值处理函数 coalesce

日志

[MySQL]查看MySQL执行日志

生成随机时间

mysql在生成伪数据的时候的create_time需要设置为一个时间段中的随机时间
MySQL生成随机时间

UPDATE test
SET create_time = DATE_ADD('2021-11-01 00:00:00',  INTERVAL  FLOOR(1 + (RAND() * 5000000)    ) SECOND ) ;

case_when(将特定行放到第一行)

Order by 原来可以这样用,涨姿势啦
关于group by的用法 原理
SQL Case when 的使用方法
在SQL中将特定的数据排在第一行
SQL之CASE WHEN用法详解
比如角色’默认’放第一个:

order by (case role_name when '默认' then 0 else 1 end)

数据处理

MySQL中横表和竖表相互转换

group_concat

group_concat函数详解

join

left join on多条件深度理解

Mybatis

使用mybatis写sql
< if test=“name != null and name != ‘’”>
这种报错

There is no getter for property named 'attrType' in 'class java.lang.String'

在获取参数时,如果是要进行非null的判断,则不可在if后直接那变量名进行判空,因为mybatis会默认变量名为_parameter,否则会报no getter/setter错误。正确的写法如下:
MyBatis 传参类型总结

mybatis判断list为空或null,在xml文件中。
Mybatis-plus批量操作

数据库中count(1),count(*),count(column)的区别
count1和count*的区别

数据迁移

CREATE TABLE 表名 AS SELECT 语句用法详解
create table ,create table as 与create like三种建表方式的使用详解

你可能感兴趣的:(MySQL优化,mysql,正则表达式,数据库)