数据库
IBLiplus
这个作者很懒,什么都没留下…
展开
-
MySql IFNull()函数
背景:A 这张表的user_id 是user这整表的partner_id ,现在需要使用user的主键id正常的sqlUPDATE A old set user_id = (SELECT id FROM user WHERE partner_id = old.user_id);但是在开发环境去刷数据的时候,由于脏数据特别多,会出现赋值为null的情况,就是SELECT id ...原创 2020-02-10 16:49:48 · 306 阅读 · 0 评论 -
mybatis 时间区间查找
mybatis 时间区间查找 req.startTime -> date类型 <if test="req.startTime != null and req.endTime != null"> <![CDATA[ and DATE_FORMAT(ivo.created , '%Y-%m-%d')>= DATE_FORMAT(...原创 2020-02-03 21:33:52 · 1008 阅读 · 0 评论 -
mybatis tingint类型对应boolean/byte
mysql数据库表中字段类型为:tinyint长度为1,即类型为:tinyint(1)使用Mybatis查询tinyint字段数据,那么tinyint的数据默认会转化为boolean类型数据,如何将改字段的java类型设置为Integer?解决方案: 1.使用ifnull(column, 0)处理该字段,个人测试过可以; 2.在jdbcUrl添加参数:tinyInt1isBi...原创 2019-10-17 13:35:59 · 1941 阅读 · 0 评论 -
mysql 错误 [Err] 1260 - Row * was cut by GROUP_CONCAT()
最近在处理数据的时候,进行一对多处理的时候,单个字段的数值长度超过限制,报一下错误:[Err] 1260 - Row 20 was cut by GROUP_CONCAT()网上查找资料后发现,原来GROUP_CONCAT有个最大长度的限制,超过最大长度就会被截断掉,你可以通过下面的语句获得mysql> SELECT @@global.group_concat_max_len...原创 2019-01-20 14:36:12 · 467 阅读 · 0 评论 -
MySql百万级数据去重保留一份,一对多合并处理
最近帮运维组处理了一份急着上架的数据,大概有140万量,下面我们看一下是怎样处理的吧。这批数据大部分都是重复的,经过处理的数据大概在30万左右,然后进行一对多合并处理,最后的数据量大概在1万左右。下面提供了两种方法或思路,第一种思路是网上提供的比较多的一种,就是通过唯一性约束的字段进行排序,然后查询处理出来的这些数据都是重复数据的第一条,所以id必然是这些重复数据最小的,然后删除调这些重复...原创 2019-01-20 14:30:37 · 1786 阅读 · 0 评论 -
this is incompatible with sql_mode=only_full_group_by MySql报错
昨天在项目中有一个sql查询语句使用到了group by ,在开发环境和测试环境都没有问题,结果到了线上接口就宕掉了,查看了一下报了 this is incompatible with sql_mode=only_full_group_by这个错误。这个错误对于我来说还算是比较熟悉了,因为这是第二次踩坑了,第一次在半年之前了,当时是修改的mysql的配置,然后就可以了,但是这次是线上的,领导不...原创 2019-01-15 09:54:04 · 1606 阅读 · 0 评论 -
Linux远程服务器配置mysql
今天我们看一下如何在Linux远程服务器上配置mysql数据库以及导入本地的sql文件到远程数据库。1、首先是在远程服务器上安装mysql服务器:yum install mysql-server首先我们使用yum命令执行安装mysql的命令,如果你所使用的服务器主机中自带有mysql的安装包,这里就直接安装了,如果提示一下没有安装包,那接着执行下面的命令;//下载mysql的re...原创 2018-09-29 10:40:52 · 744 阅读 · 0 评论 -
springboot集成jpa实现对数据库的增删改查
在实际开发中,spring集成mybatis或者jpa对数据库操作的情况都存在,这两者的区别或关系就不在赘述了,简单来说呢,就是jpa实现起来比较简单,很方便上手。下面看一下我们的项目如何配置jpa实现对数据库的操作吧。首先在pom中引入依赖了,这里可以在创建项目时选择jpa这样在创建项目时,有关的依赖就自动导入到pom.xml文件了,也可以后边自己添加进去。 <dependenc...原创 2018-09-27 21:24:43 · 1222 阅读 · 3 评论 -
解决this is incompatible with sql_mode=only_full_group_by
具体出错提示:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in ...原创 2018-10-11 13:48:30 · 581 阅读 · 0 评论 -
mysql 按照中文拼音首字母排序
ORDER BY convert(name using gbk) ASC原创 2019-03-05 11:50:42 · 1312 阅读 · 0 评论 -
数据库 DML、DDL、DCL的区别
一、DMLDML(data manipulation language)数据操纵语言: 就是我们最经常用到的 SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作。SELECT 列名称 FROM 表名称UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值INSERT INTO table_name (列1, 列2...原创 2019-03-19 13:34:37 · 272 阅读 · 0 评论 -
优化 Group By -- MYSQL一次千万级连表查询优化(转)
概述:交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上。这个SQL查询关联两个数据表,一个是攻击IP用户表主要是记录IP的信息,如第一次攻击时间,地址,IP等等,一个是IP攻击次数表主要是记录每天IP攻击次数。而需求是获取某天攻击IP信息和次数。(以下SQ...转载 2019-04-19 16:22:48 · 1955 阅读 · 0 评论 -
MySQL中distinct和group by性能比较
在分组字端是单字端的情况下:没有创建索引时:distinct比group by 要慢一些 在数据量为10万的时候,用时0.78秒group by 耗时0.31在创建了索引之后:discinct的时间较少了107倍group by 加快了43倍以上为实验证明大家有时间可以测试一下多字端去重!!!...原创 2019-04-19 16:32:51 · 1029 阅读 · 0 评论 -
mysql中int,bigint,smallint 和 tinyint的区别详细介绍
Number 类型:数据类型描述TINYINT(size) -128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。占1个字节的存储空间。SMALLINT(size) -32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。占2字节的存储空间。MEDIUMINT(size) -8388608 到 8388607 普通。0 to 16...原创 2019-06-26 14:09:15 · 2392 阅读 · 0 评论 -
mysql 数据类型
参考资料 :w3c :https://www.runoob.com/mysql/mysql-data-types.htmlmysql 数据类型 :https://www.cnblogs.com/-xlp/p/8617760.html原创 2019-07-24 19:22:01 · 160 阅读 · 0 评论 -
springboot 打印sql执行信息日志 (sql语句,执行时间)
最近接口ab压测,发现写接口比较慢,所以需要在日志中打印一些sql的执行时间,排查问题。@Aspect@Component@Log4j2public class MapperAspect { @AfterReturning("execution(* com.lsj.xcjfs.dao.*Mapper.*(..))") public void logServiceAcc...转载 2019-08-09 13:59:52 · 5176 阅读 · 0 评论 -
mysql 如何查看sql语句执行时间和效率
查看执行时间1 show profiles;2 show variables;查看profiling 是否是on状态;3 如果是off,则 set profiling = 1;4 执行自己的sql语句;5 show profiles;就可以查到sql语句的执行时间;查看操作了多少行在sql语句前面加上 explain就可以了;explain select * fr...转载 2019-08-09 15:21:21 · 2702 阅读 · 0 评论 -
mysql密码设置与更改
最近将之前的Mysql数据库5.5更改到最新的5.7,然后需要设置密码,连接navicat,配置项目完之后,在运行时遇到一些问题,下面分享给大家,以此为鉴。首先要以管理员的身份启动cmd,输入一下命令:net stop mysql 停止运行的mysql打开一个cmd窗口输入mysqld --skip-grant-tables,注意这个cmd命令窗口不要关闭重新打开一个cmd窗口...原创 2018-09-18 11:00:58 · 207 阅读 · 0 评论 -
解决Unescaped & or nonterminated character/entity reference
在使用Intellij IDEA连接数据库并指定字符编码时,遇到如下报错: spring.datasource.url=jdbc:mysql://localhost:3306/hr_mes_new?useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=true提示不允许在characterEncoding=utf-...原创 2018-09-18 10:31:03 · 523 阅读 · 0 评论 -
java数据库连接代码(用时直接拷贝)
注意:数据库名称和用户名,用户密码要根据实际情况更改配置!!!!package com.mysql;import java.sql.Connection;import java.sql.DriverManager;public class DBConnection { String driver = "com.mysql.jdbc.Driver"; String u...原创 2018-07-30 22:35:23 · 589 阅读 · 0 评论 -
Java代码实现对数据库的增删查改
package com.mysql;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.HashMap;import...原创 2018-07-30 22:38:32 · 746 阅读 · 0 评论 -
命令行更改数据库权限
有的时候开发项目可能需要别人访问你本机的数据库,如果没有对数据库设置的话,数据库默认之有本机用户能够访问,这个时候需要我们通过命令行来更改默认配置,给其他访问数据库的人授权。 授权语句: grant all privileges on *.* to root@'%' identified by '自己数据库的密码';如图所示,即授权成功。...原创 2018-08-01 22:05:53 · 1555 阅读 · 0 评论 -
开发项目的数据库设计示例
在实际开发项目中会有对数据库的设计,以下是一个完整的数据库设计实例:一、概念结构设计(E-R图)二、逻辑结构设计(关系模型)三、表结构设计 具体情况,根据实际项目进行合理的调整。 ...原创 2018-08-02 22:15:57 · 5894 阅读 · 0 评论 -
关于eclipse中web项目Communications link failure的错误
今天做项目的时候由于更改数据库的链接,发生了数据库链接失败的事情,在网上找了许多方法,都没有实现,今天整理了一下我的解决方法,希望对大家有帮助。首先看一下报的错误是什么样的:在网上查找了许多,基本上都是说mysql的链接时长的问题,数据设置wait_timeout时间,在默认配置不改变的情况下,如果连续8小时内都没有访问数据库的操作,再次访问mysql数据库的时候,mysql数据库会拒...原创 2018-08-19 16:58:07 · 3281 阅读 · 0 评论 -
java数据库链接的配置文件
public class DBConnection { String driver = "com.mysql.jdbc.Driver"; String url= "jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8"; String user = "root"; ...原创 2018-08-19 17:07:12 · 560 阅读 · 0 评论 -
MySql 建表、添加字段、修改字段、添加索引SQL语句写法
1、建表:DROP TABLE IF EXISTS bulletin;CREATE TABLE bulletin( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, # 主键 uid INT(11) NOT NULL DEFAULT 0, context VARCHAR(600) NOT NULL DEFAULT '...原创 2018-08-29 20:43:24 · 453 阅读 · 0 评论 -
Mysql索引的类型
1. 普通索引这是最基本的索引,它没有任何限制,比如上文中为title字段创建的索引就是一个普通索引,MyIASM中默认的BTREE类型的索引,也是我们大多数情况下用到的索引。–直接创建索引CREATE INDEX index_name ON table(column(length))–修改表结构的方式添加索引ALTER TABLE table_name ADD INDEX index...原创 2018-09-12 18:31:46 · 177 阅读 · 0 评论 -
建立索引的优缺点
为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能。 第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二、可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四、在使用分组和排序子句进行数...原创 2018-09-12 19:35:31 · 403 阅读 · 0 评论 -
Mysql中不走索引的sql语句
SELECT `sname` FROM `stu` WHERE `age`+10=30;-- 不会使用索引,因为所有索引列参与了计算 SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990; -- 不会使用索引,因为使用了函数运算,原理与上面相同 SELECT * FROM `houdunwang` WHERE `uname` LI...原创 2018-09-12 23:36:11 · 824 阅读 · 0 评论 -
数据库设计原则
今天看了一片文章,感觉收益颇丰,好多方面之前自己没有想到过,特在此总结,希望大家看了之后耳目一新,有木有!规则1、弄清楚将要开发的应用程序是什么性质的当你要开始设计一个数据库的时候,你应该首先要分析出你为之设计的应用程序是什么类型的,它是 “事务处理型”(Transactional) 的还是 “分析型” (Analytical)的?你会发现许多开发人员采用标准化做法去设计数据库,而不考虑目...原创 2018-09-13 00:00:17 · 501 阅读 · 0 评论 -
MySql中的正则表达式
MySQL中使用 REGEXP 操作符来进行正则表达式匹配,下表中的正则模式可应用于 REGEXP 操作符中:了解以上的正则需求后,我们就可以根据自己的需求来编写带有正则表达式的SQL语句。以下我们将列出几个小实例(表名:person_tbl )来加深我们的理解:1、查找name字段中以'st'为开头的所有数据:SELECT name FROM person_tbl WHERE...原创 2018-09-17 22:25:26 · 367 阅读 · 0 评论 -
MySQL中的ALTER命令
当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。删除,添加或修改表字段如下命令使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:ALTER TABLE testalter_tbl DROP i;如果数据表中只剩余一个字段则无法使用DROP来删除字段。MySQL 中使用 ADD 子句来向数据表中添加列,如下实例在表 t...原创 2018-09-17 23:35:30 · 335 阅读 · 0 评论 -
Mysql导出数据
在某些情况下,为了一些特定的目的,经常需要将表里的数据导出为某些符号分割的纯数据文本,而不是 SQL 语句,因为LOAD DATA 的加载速度比普通的 SQL 加载要快 20 倍以上。方法 1:使用 SELECT ...INTO OUTFILE ...命令来导出数据,具体语法如下。mysql> SELECT * FROM tablename INTO OUTFILE 'target_...原创 2018-09-17 23:58:30 · 391 阅读 · 0 评论 -
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
在cmd中输入flush privileges;语句就可以了:mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)原创 2018-09-18 10:16:16 · 2119 阅读 · 0 评论 -
解决For compliance with existing applications not using SSL the verifyServerCertificate property
昨天将mysql版本从5.5改成5.7版本,然后运行程序的时候出现了以下错误:For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by ...原创 2018-09-18 10:21:09 · 1935 阅读 · 0 评论 -
SQL常用语句
-- 创建表格-- create table workers(-- workerId int not null auto_increment,-- workerName varchar(10) not null,-- slalry int not null,-- sex varchar(10) not null,-- primary key (workerId...原创 2018-07-25 21:14:48 · 243 阅读 · 0 评论