mysql
文章平均质量分 59
聆听。。花开雨落
这个作者很懒,什么都没留下…
展开
-
Navicat同时运行多个sql文件
type *.sql >>自定义文件名.sql。3:执行windows-type命令。2:移走不需要导入的sql文件。1:切换到sql文件所在目录。运行“自定义文件名.sql”转载 2023-12-29 10:38:42 · 565 阅读 · 0 评论 -
mysql死锁原因排查
来查看最近捕获到的死锁日志;日志里面有具体报错信息。原创 2022-11-02 20:05:34 · 145 阅读 · 0 评论 -
事务的四种隔离级别
一、事务的四大特性(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。 3、隔离性(Isolation):同一时间,只允许一个事务请求同.转载 2021-12-29 15:52:33 · 466 阅读 · 0 评论 -
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
项目场景:有时候,遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到group by语句。但是,如果mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。报错信息如下:Expression #1 of SELECT list is not in GROUP BY clause and containsnonaggregated column ‘数据库名.表名.字段名’ which is not functio转载 2021-10-13 15:27:37 · 430 阅读 · 0 评论 -
mysql--插入前判断数据是否重复
INSERT INTO stat_card_nopass (sz_employ_id, sz_name, ng_branch_id, ng_dev_id, sz_dev_name, sz_dev_place, ts_card, sz_photo_path, ts_create, memo, state, ng_user_id) SELECT employId,userName,branchId,devId,devName,devPlace, cardTime,p...原创 2021-05-14 17:27:38 · 1906 阅读 · 2 评论 -
SQL学习之insert into select语句
目录 参考源SQL insert into select 语句示例数据SQL insert into select 使用 参考源 简单教程 https://www.twle.cn/l/yufei/sql/sql-basic-insert-into-select.html 菜鸟教程 https://www.r...转载 2021-04-22 09:26:15 · 17404 阅读 · 0 评论 -
case when的使用方法
这篇文章在借鉴前人的基础上,进行了验证,感谢前人的分享一、case when的使用方法 Case具有两种格式。简单Case函数和Case搜索函数。 第一种 格式 : 简单Case函数 :格式说明 case 列名 when 条件值1 then 选项1 when 条件值2 then 选项2....... else &n.转载 2021-04-21 17:45:52 · 54169 阅读 · 7 评论 -
mysql 子关联查询之 EXISTS 和 NOT EXISTS
MySQL EXISTS 和 NOT EXISTS 子查询语法如下: SELECT … FROM table WHERE EXISTS (subquery) 该语法可以理解为:将主查询的数据,放到子查询中做条件验证,根据验证结果(TRUE 或 FALSE)来决定主查询的数据结果是否得以保留。 范例一: 下面以实际的例子来理解 EXISTS 子查询。下面是原始的数据表: article 文章表: aidtitlecontentuid1文章1...转载 2021-04-21 16:51:15 · 581 阅读 · 0 评论 -
group by详解
group_by的意思是根据by对数据按照哪个字段进行分组,或者是哪几个字段进行分组。我们可以将Group By操作想象成如下的一个过程,首先系统根据SELECT 语句得到一个结果集,如最开始的那个水果、出产国家、单价的一个详细表。然后根据分组字段,将具有相同分组字段的记录归并成了一条记录。这个时候剩下的那些不存在于Group By语句后面作为分组依据的字段就有可能出现多个值,但是目前一种分组情况只有一条记录,一个数据格是无法放入多个数值的,所以这里就需要通过一定的处理将这些多值的列转化成单值,然.转载 2021-04-20 16:02:31 · 2078 阅读 · 1 评论 -
MySQL--防止重复插入数据
mysql在存在主键冲突或者唯一键冲突的情况下,根据插入策略不同,一般有以下三种避免方法。1、insert ignore2、replace into3、insert on duplicate key update4、insert … select … where not exist前面三种请移步:https://www.cnblogs.com/prayer21/p/6018864.html主要结合mybatis,说下第四种: <insert id="saveEmploye原创 2020-09-20 18:38:01 · 400 阅读 · 0 评论 -
MYSQL--表碎片整理
清除表碎片MyISAM表:optimize table 表名InnoDB表:alter table 表名 engine=InnoDB清除碎片操作会暂时锁表,数据量越大,耗费的时间越长一、MYSQL表碎片#!/bin/sh mysql_user=root mysql_pass=123123 time_log=/opt/time databa...转载 2020-09-09 09:27:56 · 1831 阅读 · 0 评论 -
mysql--强制使用索引(force index)
在公司后台某模块功能记录日志中有一个搜索功能,通过前段时间的产品使用时间区间进行搜索反馈有些卡顿,我发现这个搜索功能比较慢,要3秒左右才能出来,就决定对这里做一下优化。通过分析代码和SQL发现最核心的问题在于一个区间查询耗时太长,耗时2秒多,所以我决定看看这里能不能优化,其中核心SQL为SELECT * FROM XXX_log WHERE (`ctime` BETWEEN '2017-09-11 09:34:13' AND '2017-10-11 09:34:13')and id转载 2020-09-07 17:08:44 · 11950 阅读 · 6 评论 -
mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题
报错如下:Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘sss.month_id’ which is not functionally dependent on columns...转载 2020-08-28 21:03:49 · 15990 阅读 · 1 评论 -
mysql--win10下安装两个MySQL数据库
记录win10下安装两个MySQL5.6.35数据库,具体如下环境:OS:window10DB:MYSQL5.6.35免安装版1.正常安装第一个MySQL(见我上一篇博客)2.在 管理–>服务和应用程序–>服务,停止第一个mysql服务3.将第一个数据库(我的安装目录是:C:\software\mysql-5.6.35-winx64)目录下的所有目录和文件copy到另外一个路径,我这里是copy到C:\software,并且文件重命名为MySQL33074.更改cop..转载 2020-08-22 00:00:13 · 749 阅读 · 0 评论 -
mysql--Host XXX is not allowed to connect to this MySQL server
1.在用Navicat配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。2.在安装Mysql数据库的主机上登录root用户:mysql -u root -p3.依次执行如下命令:use mysql; select host from user w...转载 2020-07-25 12:04:44 · 142 阅读 · 0 评论 -
mysql--视图的作用(详细)
测试表:user有id,name,age,sex字段测试表:goods有id,name,price字段测试表:ug有id,userid,goodsid字段视图的作用实在是太强大了,以下是我体验过的好处:作用一: 提高了重用性,就像一个函数。如果要频繁获取user的name和goods的name。就应该使用以下sql语言。示例: select a.name...转载 2020-01-13 15:31:51 · 282 阅读 · 0 评论 -
SQL 优化——一般步骤、索引问题、优化方法(ANALYZE、CHECK、OPTIMIZE)、常用 SQL 的优化
一、优化 SQL 语句的一般步骤1 通过 show status 命令了解各种 SQL 的执行频率 MySQL 客户端连接成功后,通过【 show [session|global] status 】命令可以提供服务器状态信息,也可以在操作系统上使用 mysqladmin extended-status 命令获得这些消息。show [session|global] status 可以根据需...转载 2020-01-12 20:56:01 · 424 阅读 · 0 评论 -
mysql--索引详解
前言如果是小白的话,我觉得看到这篇文章一定会对博主赞赏有加,因为实在是太好了,没错,博主就是要让你喜欢上。1、索引索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。对于索引,会保存在额外的文件中。2、索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。1.1、索...转载 2020-01-11 11:39:16 · 450 阅读 · 0 评论 -
MySQL存储过程详解
mysql存储过程详解1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一...转载 2019-02-20 10:13:44 · 122 阅读 · 0 评论 -
查询Mysql/Oracle数据表中的最后一条记录[id最大的那行数据]
mysql:select * from table order by id DESC limit 1oracle:select * from emp where id in (select max(id) from emp);原创 2019-03-20 13:49:28 · 2631 阅读 · 0 评论 -
mysql/sqlserver如何一秒钟删除百万级别的数据
前几天在项目中,无意中发现sqlserver某张表中存着5000多万条数据,这些数据都没啥用,想着把它们都删了,于是用了delete from table;结果删了一个钟sql语句还在执行;通过查阅资料,发现用 truncate table tableName删除只需要1秒钟;原来用delete from table操作,数据库会记录删除的日志,如果在执行过程中取消delete操作,则被删除的数据...原创 2019-04-29 22:12:04 · 3514 阅读 · 0 评论 -
mysql中FIND_IN_SET的使用方法【查询表字段包含某个字符串的方法】
mysql中FIND_IN_SET的使用方法在mysql中,有时我们在做数据库查询时,需要得到某字段中包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,这时候mysql的FIND_IN_SET函数就派上用场了,下面来具体了解一下。FIND_IN_SET(str,strlist)函数str 要查询的字符串strlist 字段名...转载 2019-05-31 10:15:31 · 740 阅读 · 0 评论 -
mysql查询某个字段含有多个值
场景:根据设备用途(字段为use_for)筛选查询设备信息,前端是下拉多选框,传给后台多个设备用途id(例如21 ,22);需要根据多个id查询出匹配的结果方法1:用mybatis遍历结合FIND_IN_SET 实现;以下list为用途id集合select id,name,USE_FOR from device_basic_info where 1=1<if test="li...原创 2019-05-31 10:44:14 · 32258 阅读 · 4 评论 -
mysql触发器trigger 实例详解
MySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧:什么是触发器触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。举个例子,比如你现在有两个表【用户表】和【日志表】,当一个用户被创建的时候,就需要在日志表中插入创建的log日志,如果在不使用...转载 2019-01-17 09:58:53 · 230 阅读 · 0 评论