随笔分类 - MySQL
摘要:1. 禁止使用select * 阿里开发规范中,有这么一句话: **select *** 会查询表中所有字段,如果表中的字段有更改,必须修改SQL语句,不然就会执行错误。 查询出非必要的字段,徒增磁盘IO和网络延迟。 2. 用小表驱动大表 关联查询的时候,先用小表查到结果,再用结果去大表查询,可以大
阅读全文
摘要:本文讨论当查询条件在两个以上时,单列索引与联合索引对查询性能的影响 Mysql版本5.7,数据库引擎innodb 测试中使用 explain +具体sql可看索引使用情况 一些影响索引性能的因素: 1.单列索引和联合索引 2.查询条件的连接符号and 和 or 一、联合索引测试 建立一个顺序为A、B
阅读全文
摘要:错误的SQL语句 为了排序,自然而然地想到了关联子查询。把原表跟自身关联,然后数出来每个地区集合中有多少个价格高于当前记录价格。如果有0个高于当前记录价格,就说明当前记录是该地区集合中价格最高的,ranking里就应该填入1;如果有1个高于当前记录价格,就说明当前记录的价格在该地区集合中排名第2……
阅读全文
摘要:事务具有4个特征,分别是原子性、一致性、隔离性和持久性,简称事务的ACID特性 A:原子性(Atomicity) 事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。 事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。 B:一致
阅读全文
摘要:1、修改配置文件my.cnf 按i编辑 [root@mihutao ~]# vim /etc/my.cnf 在[mysqld]中添加 skip-``grant``-tables 例如: [mysqld]``**skip-``grant``-tables**``datadir=/var/lib/mys
阅读全文
摘要:首先在MySQL自带表information_schema中可以找到我们所需要的数据 然后输入如下sql即可: select ic.table_schema '数据库名', ic.table_name '表名', ic.column_name '列名', ic.data_type '字段类型', c
阅读全文
摘要:select t.* from (SELECT * from person where create_time<'2022-08-01 00:00:00' HAVING 1 order by create_time desc)c group by c .code;
阅读全文
摘要:create table 表名1 like 表名2 用来创建完整表结构和全部索引信息; 无数据; create table t1 like 用来创建完整表结构和全部索引信息; 无数据;
阅读全文
摘要:目的:在一个查询接口里面,返回一个人的信息,以及这个人所携带的东西的信息,返回效果如下: { "msg": { "listMain": [ { "id": "dd4a2f49b9c94196b065d425e1338ec4", "userName": "张三", "age": 24, "sex":
阅读全文
摘要:Mybatis映射,property需要驼峰命名,且首字母要为小写 fileName写为FileName会爆红,如果实体类首字母大写,这里也需要改成小写
阅读全文
摘要:select * from (SELECT 字段名,COUNT(1) as c FROM 表名 WHERE 1 = 1 GROUP BY 字段名) s where s.c >1 效果如下:
阅读全文
摘要:在这里有一个地方需要注意,MySQL在高版本需要指明是否进行SSL连接。 SSL协议提供服务主要:1)认证用户服务器,确保数据发送到正确的服务器; .2)加密数据,防止数据传输途中被窃取使用;3)维护数据完整性,验证数据在传输过程中是否丢失;当前支持SSL协议两层:SSL记录协议(SSL Recor
阅读全文
摘要:1.导入依赖 <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </
阅读全文
摘要:问题描述:以下方法写出来的id不能识别到0 <if test="id != null and id != '' "> AND id = #{id} </if> 原因分析:Mybatis会自动将0识别为null,加上判断里面有空字符串的判断,导致了数据库无法存入0 解决方案:加上一个0的判断条件即可
阅读全文
摘要:利用<bind>标签来防止模糊查询的时候sql注入 <select id="......" parameterType="......" resultType="......"> select * from user where state=1 <if test="name != null"> <b
阅读全文
摘要:select * from books ; 对number这一列进行求和并计数 select sum(number),count(*) from books ;
阅读全文
摘要:开启mysql的远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。 主流的有两种方法,改表法和授权法。 相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法 1、登陆mysql my
阅读全文