数据库
文章平均质量分 59
暴走的山交
已经步入社会的java程序员,希望前途一片光明,努力努力再努力!
展开
-
30条SQL优化技巧
SQL查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结一些方法,仅供参考。01对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by涉及的列上建立索引。02应尽量避免在where子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。03应尽量避免在 where子句中对字段进行null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以原创 2022-04-02 15:01:03 · 188 阅读 · 0 评论 -
MySQL 两条记录合并查询成一条显示(case when然后分组取最大值)
数据库数据如下张三,属于A部门也属于B部门,在表里存的是两条记录,但是在页面上我想要根据人来显示,在一条记录里显示张三属于A部门和B部门,张三只显一条记录,不显示两条。SELECT t.id, t.CODE, t.NAME, MAX(CASE t.type WHEN 'A' THEN t.dept_name ELSE null END) dept1, MAX(CASE t.type WHEN 'B' THEN t.dept_name ELSE null END) dept2FROM pe转载 2021-11-16 15:01:21 · 2060 阅读 · 0 评论 -
mysql group by 用法解析(详细)
group by 用法解析group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。某个员工信息表结构和数据如下:id name dept salary edlevel hiredate1 张三 开发部 2000 3 2009-10-112 李四 开发部 2500 3 2009-10-013 王五 设计部 2600 5 2010-10-0转载 2021-11-16 13:40:05 · 19725 阅读 · 1 评论 -
mysql 在原有值基础上加上一个值或者字符串
更新一个字段,在它的后面加一个值或字符串,不查询数据库得到这个字段值 怎么添加??user 表,有两个字段 name [string] ,age [int]1.需要给每个或者某个名字前加个统一的标识,如:tom 改为user_tomUPDATE user SET name= CONCAT('user_',name);2.需要给每个或者某个age统一增加10岁,如:17改为27UPDATE user SET user= user+10;注意!!!数字则可以直接用’+'号相连 字符串必须用con转载 2021-11-16 13:28:12 · 6522 阅读 · 0 评论 -
使用MyBatisPlus的IPage进行分页查询
方式一使用baseMapper自带的分页查询函数. 使用步骤: 1.服务层的接口需要继承 IService<实体类> ,定义分页查询方法,其返回值类型是 IPage<实体类> . 2.服务的实现类要继承 ServiceImpl< Mapper接口类,实体类 > ,重写分页查询方法. 3.定义查询条件wrapper ,如图所示: 4.调用 baseMapper.selectPage() 方法,如下图所示: 说转载 2021-11-16 13:22:46 · 5112 阅读 · 0 评论 -
idea的xml文件Tag name expected
小编在mapper文件中写sql语句时提示Tag name expected,找到原因是因为xml不识别<号需要用特定转义符来表示<号。只需要将 < 改为<即可在 XML 中,一些字符拥有特殊的意义。如果您把字符 “<” 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。这样会产生 XML 错误:为了避免这个错误,用实体引用来代替 “<” 字符,如下:if salary <1000 then 需要改为if salary &转载 2021-11-16 13:18:37 · 520 阅读 · 0 评论 -
MySQL sql语句字段截取前几位,后几位 left(), right(), substring()
MySQL 字符串截取函数:left(), right(), substring()1. 字符串截取:left(str, length)select left('这是要截取的内容', 3); ## "这是要"2. 字符串截取:right(str, length)select right('这是要截取的内容', 3); ## "的内容"3. 字符串截取:substring(str, pos); substring(str, pos, len)3.1 从字符串的第 4 个字符位置开始取原创 2021-11-15 15:24:25 · 35521 阅读 · 1 评论 -
mybatis标签之trim标签(转载)
trim标记是一个格式化的标记,主要用于拼接sql的条件语句(前缀或后缀的添加或忽略),可以完成set或者是where标记的功能。trim属性主要有以下四个prefix:在trim标签内sql语句加上前缀suffix:在trim标签内sql语句加上后缀prefixOverrides:指定去除多余的前缀内容,如:prefixOverrides=“AND | OR”,去除trim标签内sql语句多余的前缀"and"或者"or"。suffixOverrides:指定去除多余的后缀内容。例如在upd转载 2021-11-08 18:18:03 · 809 阅读 · 0 评论 -
Mybatis动态Sql 常用 动态标签详解 (转载)
一. 定义 sql 语句select 标签属性介绍:id :唯一的标识符.parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User 或 userresultType :语句返回值类型或别名。注意,如果是集合,那么这里填写的是集合的泛型,而不是集合本身(resultType 与 resultMap 不能并用)<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameter.转载 2021-11-08 18:12:39 · 575 阅读 · 0 评论 -
SQL中CASE WHEN THEN END作用及用法详解
sql case when then else end查询生成统计列表:SELECT a.managecom, a.subtype, count(*) loadsucc, sum(case when a.state in ('4', '5', '6', '7', '8', '9') then 1 else 0 end) recogsucc, sum(case when a.state in ('3', '12', '13') then 1 el转载 2021-11-08 15:57:32 · 1965 阅读 · 0 评论 -
GROUP BY 语句中的GROUP_CONCAT()函数
GROUP BY GROUP_CONCAT() 根据字段进行分组 ,然后将某一个字段所有值合并.GROUP_CONCAT函数实现。1、GROUP_CONCAT功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;转载 2021-11-08 15:21:54 · 4246 阅读 · 0 评论 -
Mysql 将两个字段合并成一个字段显示CONCAT 和 CONCAT_WS
项目中遇到的需求: 需要将经纬度坐标合并起来用,分割显示在前端.而数据库中经度和纬度是分开的.解决:在sql中写需要用到CONCAT() 或者 CONCAT_WS()CONCAT()CONCAT(str1,str2,...) 将两个或多个字段合并起来 没有分隔符,mysql> SELECT CONCAT('My', 'S', 'QL');-> MySQL如果参数中有null 则返回结果为null.mysql> SELECT CONCAT(’My’, NULL, ‘原创 2021-10-27 17:29:47 · 4177 阅读 · 0 评论 -
Mysql数据库 CURRENT_DATE(), NOW(), DATE_FROMAT()函数的作用
内容简介datetime类型和timestamp类型的取值范围,CURRENT_DATE()函数应用,NOW()函数应用,DATE_FROMAT()函数取星期,日期、字符串、时间戳相互转换等。时间范围datetime类型范围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59timestamp类型范围:1970-01-01 08:00:01 ~ 2038-01-19 11:14:07CURRENT_DATE()函数#获取当前日期SELECT CURRENT_DA原创 2021-09-24 09:46:36 · 2316 阅读 · 0 评论 -
到底什么是索引? 你还知道吗?
我们通过一个简单的例子来开始教程,解释为什么我们需要数据库索引。假设我们有一个数据库表 Employee, 这个表有三个字段(列)分别是 Employee_Name、Employee_Age 和Employee_Address。假设表Employee 有上千行数据。现在假设我们要从这个表中查找出所有名字是‘Jesus’的雇员信息。我们决定使用下面的查询语句:SELECT * FROM Employee WHERE Employee_Name = 'Jesus'如果表中没有所以会发生什么?一旦我们转载 2021-07-15 17:27:54 · 711 阅读 · 0 评论 -
SQL窗口函数 简单易懂(转载)
一.窗口函数有什么用?在日常工作中,经常会遇到需要在每组内排名,比如下面的业务需求:排名问题:每个部门按业绩来排名topN问题:找出每个部门排名前N的员工进行奖励面对这类需求,就需要使用sql的高级功能窗口函数了。二.什么是窗口函数?窗口函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。窗口函数的基本语法如下:<窗口函数> over (partition by <用于分组的列名>转载 2021-07-15 10:26:58 · 285 阅读 · 0 评论 -
mysql 免安装版 下载 配置与完美卸载 (转载)
第一步:下载Mysql 官网下载地址:https://dev.mysql.com/downloads/mysql/ 1、鼠标滑下来,找到Other Download中的 Windows (x86, 64-bit), ZIP Archive,点击其右边的Download按钮进行Mysql下载 2、点击No thanks,just start my download即可进行M...转载 2021-05-25 21:45:52 · 377 阅读 · 0 评论 -
查询数据库中的数据字段不显示 或者 报Unknown column ‘xxx‘ in ‘field list‘错解决办法(踩坑)
查询数据库中的数据字段不显示前端首先按F12查看后端返回给前端的数据,其中的数据的字段名是否与前端自己写的字段的名称是否对应,返回给前端的字段名不一定和后端定义的字段名完全一致(主要是字母的大小写区分)这是我踩的坑这是开发者工具中 : 后端返回给前端的数据其中的字段名称是这个 rname而我后端实体类中却是rName 其中是N所以我前端表格中就写的是rName导致前端取不出数据导致前端取不出数据, 名字那行是空白. 要改为rname和返回的字段名一样,不要和后端一样.所以要看原创 2021-01-30 09:41:27 · 6563 阅读 · 0 评论 -
Redis学习笔记(B站狂神说)(自己总结方便复习)
Redis学习笔记B站狂神说redis: 非关系型数据库一.NoSQL概述1.为什么要用Nosql1.单机Mysql的年代思考一下,这种情况下:整个网站的瓶颈是什么?1.数据量如果太大,一个机器放不下2.数据的索引(B+Tree),一个机器内存也放不下3.访问量(读写混合),一个服务器承受不了~只要你开始出现以上三种情况之一,name你就必须要晋级!2.Memcached(缓存) + Mysql +垂直拆分(读写分离)网站80%的情况都是在读,每次都要去查询数据库的话十分麻烦原创 2020-11-04 19:32:13 · 3247 阅读 · 2 评论 -
数据库事务,原子性、一致性、隔离性、持久性
数据库事务,原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)、持久性(Durabiliy)很多复杂的事务要分布进行,但它们组成了一个整体,要么整体生效,要么整体失效。这种思想反应到数据库上,就是多条SQL语句,要么所有执行成功,要么所有执行失败。数据库事务由严格的定义,它必须满足4个特性: 原子性(Atomicity),一致性(consistency),隔离性(Isolation),持久性(Durability)。 原子性:转载 2020-10-24 10:33:19 · 1034 阅读 · 0 评论 -
JDBC (B站动力节点老杜)学习笔记(自己总结方便复习)
JDBC (B站动力节点杜老师)1.JDBC是什么2.jdbc的本质是什么?多态: Animal a = new Cat ( ) --》面向抽象编程父类型的引用 指向 子类型的对象3.开发前准备工作4.jdbc 过程注册驱动方式两种使用资源绑定器绑定属性配置文件URL解析5.遍历结果集idea导入.jar包字符串中拼变量(sql)单引号中 加双引号 加两个加号++ 加号里面加变量PreparedStatement原创 2020-06-15 08:27:48 · 4968 阅读 · 4 评论 -
每次重启电脑idea中mysql都需要配置时间解决方案(转载)
idea连接数据库错误Server returns invalid timezone. Go to Advanced tab and set serverTimezon时区错误,MySQL默认的时区是UTC时区,比北京时间晚8个小时。所以要修改mysql的时长连接mysql数据库—win+r—cmd—输入用户名密码在mysql的命令模式下,输入:set global time_zone=’+8:00’;再次连接成功退出exit然后再次测试 ----成功看到最后的帮忙点个赞??????转载 2020-06-10 09:27:49 · 1655 阅读 · 0 评论 -
MySQL的安装与配置——详细教程(转载)
一:下载安装包: ①进入官网后,点击"Dowload",然后页面往下拉 ②接下来看到的页面是这样的,红色框框的链接就是mysql社区版,是免费的mysql版本,然后我们点击这个框框的链接:↓ ③接下来跳转到这个页面,在这里,我们只要下载社区版的Server就可以了:↓ ④下载免安装版(windows以外的其他系统除外)转载 2020-06-03 14:34:52 · 456 阅读 · 0 评论