MySQL
文章平均质量分 61
zuihongyan518
一个小白的打怪晋级的过程
展开
-
Spring Boot项目中使用MyBatis Generator (MBG) 自动生成Mapper文件
Spring Boot项目中使用MyBatis Generator (MBG) 自动生成Mapper文件可以很大程度上减少编码。本文着重介绍如何在实战中使用MGB自动生成Mapper文件原创 2024-07-19 17:18:18 · 710 阅读 · 0 评论 -
SpringBoot整合Mybatis配置多数据源
SpringBoot集成Mybatis来实现多数据源配置原创 2024-07-16 15:44:56 · 618 阅读 · 0 评论 -
MySQL导入‘.frm’、‘.MYD’、‘.MYI’文件
首先、新建数据库,数据库名和你的文件名必须保持一致然后、在数据库工具中创建一样结构和数据的结果一直的sql表然后找到数据库的文件存在: D:\Learn\Mysql\mysql-5.6.31-winx64\mysql-5.6.31-winx64\data 将‘.frm’、‘.MYD’、‘.MYI’后缀的文件和.opt后缀的文件都拷贝到新创建的文件夹中,放入data目录下 最后、重启mys...原创 2018-11-17 16:03:02 · 390 阅读 · 0 评论 -
Java 中各种空(‘‘、\u0000、null)的区别?
在使用下面的SQL查询时,发现去不掉空格,而且把limit 去掉以后空格就没有了,琢磨了很久才发现问题的关键所在。主要是\u0000在作怪!!!select id,company_name,username,remarks,address from table_alldata where company_name !='' and remarks is null limit 1000;结...原创 2019-01-04 18:04:54 · 17691 阅读 · 0 评论 -
MyBatis + MySQL返回插入成功后的主键id(注解方式)
Mybatis 配置文件 useGeneratedKeys 参数只针对 insert 语句生效,默认为 false。当设置为 true 时,表示如果插入的表以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键返回。在insert中将useGeneratedKeys属性设置为true,并制定keyProperty为Table对象的id,关于这两个参数,官方文档解释如下:...原创 2019-04-17 09:24:35 · 2108 阅读 · 0 评论 -
SQL UNION 和 UNION ALL 操作符
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_n...原创 2019-06-24 18:16:26 · 118 阅读 · 0 评论 -
MYSQL 中使用奇数偶数方法
1、使用按位与-- 奇数select * from table WHERE id & 1; -- 偶数 【id先除以2然后乘2如果与原来的相等就是偶数】select * from table WHERE id=(id>>1)<<1; 2、正则匹配 正则匹配最后一位-- 奇数select * from table WHERE...原创 2019-07-03 11:18:23 · 4262 阅读 · 0 评论 -
MYSQL按时间段(按小时分组)分组查询当天小时内数据
运营一个需求,要查询一些数据,每1小时一次的数据 ,Excel表格如下:第一肯定要是用 GROUP BY 然后一、单表SELECT DATE_FORMAT( create_time, '%Y-%m-%d %H' ) as time, COUNT( DISTINCT member_id) as count FROM tmp_wp_table GROUP BY time ...原创 2019-06-28 11:44:13 · 24354 阅读 · 6 评论 -
关于MySQL存储过程
存储过程简介SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。...原创 2018-06-08 10:57:26 · 175 阅读 · 0 评论 -
MySQL存储过程实例
查询2017年7月份前十天的数据,使用do..while循环语句DELIMITER $$CREATE DEFINER='root'@'%' PROCEDURE pro_selectday2(in bTime varchar(20),in eTime varchar(20))BEGINWHILE STR_TO_DATE(bTime,'%Y-%m-%d') <= STR_TO_...原创 2018-06-08 11:11:54 · 314 阅读 · 0 评论 -
mysql 使用sql语句去掉某个字段中的html标签
在给公司的产品查询数据的过程中,要求去掉字段里的一些html标签。下面就是一个处理html标签的函数。可以用批量修改的脚本加这个函数,将标签去掉。查询前后的对比如下没有使用上面函数的查询结果:select a.title,a.areaid,a.progid,b.content,FROM_UNIXTIME(a.updatetime) from table_content a;...原创 2018-11-14 14:06:35 · 6322 阅读 · 0 评论 -
关于mysql错误:Subquery returns more than 1 row
EXPLAIN select * from mytable where shouji = (select shouji from mytable GROUP BY shouji HAVING count(shouji)>2)> 1242 - Subquery returns more than 1 row> 时间: 0.002s这个错误是:子查询返回了多行数据解决方法...原创 2018-10-08 15:03:13 · 60222 阅读 · 1 评论 -
MySQL 存储过程 CONCAT 字符串拼接
CREATE PROCEDURE pro_province_report (IN startDate VARCHAR(20),IN endDate VARCHAR(20),IN SourceType INT) /* 功能:根据时间,来源SourceType 统计 每个省份的 注册用户 投稿数 作品点击量 投票量 参与人数 pro_provi...原创 2018-06-08 11:34:37 · 9570 阅读 · 0 评论 -
MySQL查询 存在一个表而不在另一个表中的数据
A、B两表,找出id字段中,存在A表,但是不存在B表的数据。示例:a表 b表 方法1: 使用 not in ,容易理解,效率低 ~执行时间为:1.395秒~方法2 : 使用 left join...on... , "B.ID isnull(is null)" 表示左连...原创 2018-07-06 10:08:29 · 12928 阅读 · 2 评论 -
Navicat Premium 12.0.29安装与激活
本文介绍Navicat Premium 12.0.29的安装、激活与基本使用。博主所提供的激活文件理论支持Navicat Premium 12.0.2x全系列,但已测试的版本为Navicat Premium 12.0.29简体中文64位。博主所提供的压缩包格式均为RAR5,即WinRAR 5.0以上的版本才能正常解压,别的压缩软件博主不太清楚能否正常解压RAR5格式。若需,请下载WinRAR 5....转载 2018-07-07 15:44:48 · 2556 阅读 · 0 评论 -
mysql之模糊查询的方法
想起Mysql模糊查询正常情况下我们想到的一般都是like,但是使用like,格式正确了效率很快,当然这是在数据量比较小的情况下,问题是在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时mysql查询的效率是很关键的,也是很重要的。一、一般情况下 like 模糊查询的写法:这个SQL语句,如果用explain解释的话,我们很容易就能发觉它是没有走索引搜索,而是对...原创 2020-09-14 14:31:35 · 85062 阅读 · 22 评论 -
MySql最左前缀原则
B-Tree 索引和 Hash 索引的对比 对于 B-tree 和 hash 数据结构的理解能够有助于预测不同存储引擎下使用不同索引的查询性能的差异,尤其是那些允许你选择 B-tree 或者 hash 索引的内存存储引擎。B-Tree 索引的特点B-tree 索引可以用于使用 =, >, >=, <, <= 或者 BETWEEN 运算符的列比较。如果 LIKE 的...转载 2018-07-20 16:41:54 · 1631 阅读 · 0 评论 -
SQL优化
问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能...转载 2018-07-20 19:12:50 · 174 阅读 · 0 评论 -
Mysql千万以上数据优化、SQL优化方法
1、单库表不要太多,一般保持在200以下为宜2、尽量避免SQL中出现运算操作,例如select a/5 from A,让DB功能单一化3、表设计尽量小而精,能用5个字段就不要用6个(不绝对,取决于业务,冗余时要该出手时就出手,坚决不要手软)4、SQL事务不能设计太大,比如一次性提交10W条insert,当然这个不仅仅是性能问题了,可能直接内存溢出了一般来说insert事务的话,5K...原创 2018-07-22 10:36:43 · 940 阅读 · 0 评论 -
在mysql中如何用int类型代替varchar类型存储IP
首先我们应该先明白为什么要这样存储ip而用varchar直接存储IP呢?其实做任何程序设计都要在功能实现的基础上最大限度的优化性能。而数据库设计是程序设计中不可忽略的一个重要部分,所以巧存IP地址可以一定程度获得很大提升。利用函数算法处理:在MySQL中没有直接提供IP类型字段,但如果有两个函数可以把IP与最大长度为10位数字类型互转,所以使用int类型存储IP比varchar类型存储...原创 2018-07-22 11:02:11 · 1909 阅读 · 0 评论 -
java去掉String两端引号
String sql= "select * from table1 where id >100";str =sql .replace("\"", "");system.out.println(str);这句话也就是把String类型数据的前后的双引号用“”给替换掉。输出的结果就是:select * from table1 where id >100...原创 2018-08-10 20:13:25 · 17553 阅读 · 2 评论 -
java.sql.SQLException: Before start of result set异常及处理办法
异常:java.sql.SQLException: Before start of result set 解决方法:使用rs.getString();前一定要加上rs.next(); 原因:ResultSet对象代表SQL语句执行的结果集,维护指向其当前数据行的光标。每调用一次next()方法,光标向下移动一行。最初它位于第一行之前,因此第一次调用next()应把光标置于第一行上,...原创 2018-08-17 17:16:26 · 220 阅读 · 0 评论 -
MySQL导入‘.frm’、‘.MYD’、‘.MYI’文件
.frm、.myd、.myi文件,也就是说是MySQL的原始数据文件,这三个文件分别是:.frm 表结构文件 .myd 表数据文件 .myi 表索引文件首先,如果你知道这个数据的表的结构,就用数据库工具创建一样和该数据结构一样的表,表名应该和文件的名称保持一致。然后找到数据库的文件存放的data目录,比如:E:\mysql-5.7.18-winx64\mysql-5.7.18-winx6...原创 2018-09-21 17:45:14 · 5273 阅读 · 0 评论 -
MySQL查询 之 随机查询
mysql实现随机获取几条数据的方法对SQL语句的解释说明:tablename--表名m--想要获取的数据条数t1--tablename表的别名1:SELECT * FROM tablename ORDER BY RAND() LIMIT m;2:SELECT * FROM tablename WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM...原创 2018-07-01 15:27:45 · 4798 阅读 · 1 评论