随笔分类 - MySQL
摘要:group_concat函数解析: 1、concat()函数: 功能:将多个字符串连接成一个字符串 语法:concat(str1, str2) 结果:连接参数str1,str2为一个字符串,如果有任何一个参数为null,则返回值为null 2、concat_ws()函数: 功能:将多个字符串以指定分
阅读全文
摘要:一、性能下降SQL慢、执行时间长、等待时间长 查询语句写得烂 索引失效 关联查询太多join设计缺陷或不得已的需求) 服务器调优及各个参数设置(缓冲、线程数等) 二、常见的Join查询 1、SQL执行顺序 手写 机读 总结 2、join图 3、建表SQL 4、7种JOIN 三、索引简介 1、是什么
阅读全文
摘要:一、常见报错: org.springframework.dao.CannotAcquireLockException异常,但是在打印出日志的时候,显示的是com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait
阅读全文
摘要:那些我们听过的索引优化手段 表的索引建得越全越好,对吗? 选择的索引列的长度不宜过长,对吗? 不要使用select * ,写明具体查询字段 模糊匹配like %abc,like%2673%, like%888都用不到索引,对吗? where条件中NOT IN 和 <> !=都无法使用索引对吗? 一、
阅读全文
摘要:--like:一般和通配符搭配使用 --通配符 % :任意多个字符,包含0个字符 案例1:查询员工名中包含字符a的员工信息 select * from employees where like '%a%'; --包含abc 案例2:查询员工名中第三个字符为e,第五个字符为a的员工名和工资 selec
阅读全文
摘要:-- DENSE_RANK:并列连续排序,并列即相同的值,相同的值保留重复名次,遇到下一个不同值时,依然按照连续数字排名 SELECT emp_no, salary, DENSE_RANK() OVER(ORDER BY salary DESC) as t_rank from salaries; -
阅读全文
摘要:在MySQL中我们通常会采用limit来进行翻页查询,比如limit(0,10)表示列出第一页的10条数据,limit(10,10)表示列出第二页。但是,当limit遇到order by的时候,可能会出现翻到第二页的时候,竟然又出现了第一页的记录。 如: SELECT `post_title`, `
阅读全文
摘要:--标量函数字符串函数 --CHARACTER_LENGTH() 返回其参数中的字符数。 --LENGTH() 返回字符串的长度(以字节为单位)(而不是字符数)。 SELECT STREET, CHAR_LENGTH(STREET) len1, if( CHAR_LENGTH(STREET) > 1
阅读全文
摘要:-- 标量函数之日期函数 -- YEAR(date): 从任意的支付日期中提取年份,并将年份作为一个数字返回 -- 示例:获取1980年以后的每笔罚款的支付号码和年份 SELECT PAYMENTNO,YEAR(PAYMENT_DATE) from PENALTIES where YEAR(PAYM
阅读全文
摘要:-- case 表达式语法 CASE SEX WHEN 'F' THEN 'Female' ELSE 'Male' END AS SEX; //这里的as sex是以sex为列名,如不列的话,列名则为case sex -- 等同于如下IF-THEN-ELSE IF SEX = 'F' THEN RE
阅读全文
摘要:用一张图说明三者的区别: 总结: left join(左联接) 返回包括左表中的所有记录和右表中关联字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中关联字段相等的记录 inner join(等值连接) 只返回两个表中关联字段相等的行 举例如下: 表A记录如下: aID
阅读全文