[数据库]MySQL之SQL查询】的更多相关文章

一.问题描述 mybatis查询无结果, 数据库运行相同sql查询出结果, 如下 这是数据库记录 这是mybatis查询出的结果, 记录条数0 这是直接将控制台一模一样的sql查询语句放到Navicat执行的结果, 记录条数1 二.解决办法 将where条件后的username = '${username}'和and password = '${password}'置为同一行 <select id="selectByUsernameAndPassword" resultMap=&…
关于SQL查询语句的优化,有一些一般的优化步骤,本节就介绍一下通用的优化步骤. 一条查询语句是如何执行的 首先,我们如果要明白一条查询语句所运行的过程,这样我们才能针对过程去进行优化. 参考我之前画的一张MySQL基础架构图: MySQL中一条查询语句的生命周期大概可以分为 客户端通过连接器连接服务器 在解析器中解析SQL语句 优化器进行优化 执行器执行生成的执行计划 返回结果给客户端 一般而言,执行器执行阶段是最为重要的阶段,也就是说,最耗费性能的阶段.所以我们的优化,其实就是在优化执行器的执…
ActiveMQ具体就不介绍了,直接介绍如何讲ActiveMQ持久化到本地数据库,以SQL Server 2008 R2为例1.下载ActiveMQ后直接解压,我下载的是apache-activemq-5.14.5-bin.zip. 2.打开conf下的activemq.xml,我要配置的是将消息持久化到SQL Server 2008 R2 3.增加配置: Mysql持久化bean: <bean id="mysql-ds" class="org.apache.commo…
成本 什么是成本,即SQL进行查询的花费的时间成本,包含IO成本和CPU成本. IO成本:即将数据页从硬盘中读取到内存中的读取时间成本.通常1页就是1.0的成本. CPU成本:即是读取和检测是否满足条件的时间成本.0.2是每行的CPU成本. 单表查询计算成本 我们对其进行分析的具体步骤如下: 根据搜索条件找出可能使用到的索引. 计算全表扫描的需要执行的成本. 计算各个索引执行所需要执行的成本. 对各个索引所需要执行的成本,找出最低的那个方案. 全表扫描的成本 计算IO成本: 我们首先从表的sta…
最近项目中有需要做一个shell脚本,可以对一个数据库执行sql操作,并将结果转为txt,筛选结果用tab隔开,保存至一个远程服务器上,以供其他人用Excel读取用txt中的内容. MySQL中将结果保存下来,有两种方案,一种是在sql语句中增加INTO OUTFILE语句,并且可以定制化输出的格式.但是这种方法留下的文件在数据库所在的服务器上,而期望的是将文件放在执行脚本的机器上. 后来实现是不改变sql语句的内容,在脚本中将结果保存到本地/tmp目录下,再用curl上传到远程服务器上,下面抽…
写自动化测试的时候我希望执行数据库前置任务,把数据库查询的结果作为请求的参数,但是正常返回结果为列表嵌套里面,这样就会影响到关键字准确的获取,特别的受限于SQL的查询字段的的顺序,所以希望返回的单条数据结果是字典,返回结果为多条数据的时统一存放在列表中便于对数据遍历,同时我在传入参数的时候可以准确的获取关键字: # -*- coding: utf-8 -*- # @Time : 2018/12/30 18:39 # @Author : Hunk # @Email : liuqiang_cl@16…
1.注意DESC关键字仅适用于在它前面的列名(birth):不影响species列的排序顺序. SELECT name, species, birth FROM pet ORDER BY species, birth DESC; ---desc只影响birth.先按照species升序列排序,species值相同的再按照birth降序排序 2.日期计算 MySQL提供了几个函数,可以用来计算日期,例如,计算年龄或提取日期部分. 要想确定每个宠物有多大,可以计算当前日期的年和出生日期之间的差.如果…
这里多表,为了方便我只建了两张表,更复杂的表间也就是这些东西,就是复杂程度不一样. 数据源准备 建立一个学生表,和一个班级表 # 建立学生表 create table student( id int not null unique auto_increment, name varchar(20) not null, sex enum('male','female') not null default 'male', age int(3) unsigned not null default 28,…
在这里提供2中方式: 建议:可以使用方式二,就不使用方式一. 方式一: 在linux下支持,window下不支持. 进入到mysql的bin目录,或者已经给mysql配置了环境变量就不用进入bin目录. 原理: 通过mysql工具的-e参数,可以执行select.update.delete.insert语句. 通过mysql  -u用户名 –p密码  数据库 –esql语句  > 文件路径/文件名 利用linux的>写入操作,将mysql通过-e参数执行的语句结果输出到文件中去. 通过mysq…
show create table 表名 \G;(查看创建的属性) alter table 表名 auto_increment=xx;(修改自增起始值) set session auto_increment_offset=xx;(修改步长) 索引的目的:加速查找 约束: 主键 外键 唯一索引:unique 名字 (列名) ----不允许重复(可以为空) 联合唯一:unique 名字 (列名1,列名2)---不允许一起重复 sql语句补充 select * from 表名; select 列名 a…