
mysql
lip86
这个作者很懒,什么都没留下…
展开
-
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated解决
今天在使用MySQL查询时报了一个“[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 GROUP BY clause; this is incompatible with sql_原创 2022-01-26 14:02:26 · 3412 阅读 · 0 评论 -
Ubuntu下安装MySQL
提示:以下操作均在root权限下进行。# 查看有没有安装MySQL:dpkg -l | grep mysql# 安装MySQL:apt-get install mysql-server安装完成之后可以使用如下命令来检查是否安装成功:netstat -tap | grep mysql通过上述命令检查之后,如果看到有 mysql 的socket处于 LISTEN 状态则表示安装成功。登录mysql数据库可以通过如下命令:mysql -u root -p-u 表转载 2020-06-04 16:59:01 · 188 阅读 · 0 评论 -
mysql 中in语句传参是字符串的解决方法
mysql使用in的时候,如果参数是字符串的话,因为不做任何处理,是会被当成一个值,而不是按照‘,’分割,使用mysql自带函数FIND_IN_SET可以解决这个问题,用法如下:select * from table_name a left join cluster b on FIND_IN_SET(a.id , str)第一个参数是匹配in的字段,第二个是匹配的值如:FIND_IN...原创 2019-12-16 10:54:15 · 2263 阅读 · 0 评论 -
MySQL 语句级避免重复插入—— Insert Select Not Exist
想要插入一条数据,要避免重复插入,又不想折腾两回数据库连接操作,可以参考如下办法。 INSERT INTO table(column1,column2,column3 ...columnN) SELECT value1,value2,value3 ...valueN FROM dual WHERE NOT EXISTS( SELECT * FROM...转载 2018-11-14 17:40:49 · 558 阅读 · 0 评论 -
mysql将字符转换成数字
在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下:1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决select * from pony order by (d+0)2.在进行ifnull处理时,比如 ifnull(a/b,'0') ...转载 2018-11-14 17:43:11 · 927 阅读 · 0 评论 -
SQL中Group By的使用
1、概述 2、原始表 3、简单Group By 4、Group By和Order By 5、Group By中Select指定的字段限制 6、Group By All 7、Group By与聚合函数 8、Having与Where的区别 9、Compute和Compute By1、概述“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将...转载 2018-11-15 09:12:00 · 156 阅读 · 0 评论 -
常见复杂SQL语句
1、SQL统计某字段的出现次数比如统计某个表中,姓名出现的次数:select name,count(*) from biao group by name having count(*) > 2关键是用分组:group by,且经常和聚合函数一起使用比如:统计用户表中的匿名字段的出现次数SELECT a.user_anon_name as anon_name , C...转载 2018-11-15 10:52:58 · 8251 阅读 · 1 评论 -
MySQL 索引
本篇文章,我们将从索引基础开始,介绍什么是索引以及索引的几种类型,然后学习如何创建索引以及索引设计的基本原则。本篇文章中用于测试索引创建的user表的结构如下:什么是索引索引(在 MySQL 中也叫“键key”)是存储引擎快速找到记录的一种数据结构——《高性能MySQL》 我们需要知道索引其实是一种数据结构,其功能是帮助我们快速匹配查找到需要...转载 2019-03-11 09:44:41 · 155 阅读 · 0 评论 -
mysql 连接出现The last packet sent successfully to the server was 0 milliseconds ago.问题解决
mysql使用阿里的,服务器在连接mysql的时候。出现了The last packet sent successfully to the server was 0 milliseconds ago.这个错误。百度了很多解决方案最后都不成功,最后是要把服务器内网设为白名单才解决。...原创 2019-05-24 15:19:22 · 4664 阅读 · 2 评论 -
MySql like模糊查询
一、SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT LIKE比较操作符。SELECT 字段 FROM 表 WHERE 某字段 Like 条件其中关于条件,SQL提供了四种匹配模式:1,%:表示任意个或多个字...转载 2019-05-25 10:40:57 · 122 阅读 · 0 评论 -
收集的MySQL的面试题分享给大家
1、如何登陆mysql数据库MySQL-u username -p2、如何开启/关闭mysql服务service mysql start/stop3、查看mysql的状态service mysql status4、如何显示数所有数据库show databases5、如何获取表内所有字段对象的名称和类型describe table_name;6、MYSQL支...转载 2019-07-02 14:50:36 · 134 阅读 · 0 评论 -
如何分析一条sql的性能
这篇文章将给大家介绍如何使用 explain 来分析一条 sql 。网上其实已经有非常多的文章都很详细的介绍了 explain 的使用,这篇文章将实例和原理结合起来,尽量让你有更好的理解,相信我,认真看完你应该会有特别的收获。explain 翻译过来就是解释的意思, 在 mysql 里被称作执行计划,即可以通过该命令看出 mysql 在经过优化器分析后决定要如何执行该条 sql 。说到...转载 2019-07-08 11:10:16 · 133 阅读 · 0 评论 -
MySQL之EXPLAIN
今天微信群里一位网友发了一个问题:“mysql 根据时间进行过滤,查询速度特别慢,需要 30 多秒”。然后我问她,数据库中总数据量大概是多少,她告诉我 explain 执行结果中的 rows 显示有 100 多万条。我告诉她这个 rows 不准确。那么 explain 执行结果中的 rows 到底代表了什么意思?本文我们一起来学习一下!EXPLAIN 有什么用?MySQL 提供了一个 EX...转载 2019-07-05 11:09:27 · 610 阅读 · 0 评论 -
mysql存储过程
#写一个存储过程,里面写一个循环,就可以了。主键你现在不是自增的,所以写语句的时候,就Insert到3个字段中。DELIMITER $$DROP PROCEDURE IF EXISTS `proc_auto_insertdata`$$CREATE PROCEDURE `proc_auto_insertdata`()BEGIN DECLARE init_d...转载 2018-11-14 16:06:05 · 129 阅读 · 0 评论 -
MySQL中tinytext、text、mediumtext和longtext详解
一、数字类型 类型 范围 说明 Char(N) [ binary] N=1~255 个字元 binary :分辨大小写 固定长度 std_name cahr(32) not null VarChar(N) [binary] N=1~255 个字元 binary :分辨大小写 可...转载 2018-11-14 13:17:10 · 208 阅读 · 0 评论 -
ibatis 使用 in 查询的几种XML写法
1.传入参数是数组<select id="Test" resultClass="dto"> select * from UserInfo where userId in <iterate open="(" close=")" conjunction="," > #[]# </iterate>转载 2018-07-25 10:13:53 · 780 阅读 · 0 评论 -
mybatis中#和$符号的区别
mybatis做为一个轻量级ORM框架在许多项目中使用,因其简单的入门受到了广大开发者的热爱。在近期项目中再做一个相关的开发,碰到了#、$符号这样的问题,之前没怎么注意过,通过学习之后,有了点感悟,分享如下,#{} 使用#{}意味着使用的预编译的语句,即在使用jdbc时的preparedStatement,sql语句中如果存在参数则会使用?作占位符,我们知道这种方式可以防止sql注入,并且...转载 2018-08-03 10:42:42 · 245 阅读 · 0 评论 -
如何使用mybatis《一》
mybatis作为ORM轻量级框架一出现就吸引了无数人的眼球,比hibernate要简单且入门较容易,下面开始我的第一个mybatis程序。一、下载mybatis的包我们知道任何一个框架都会有其包,我们从其官方网站下载其包,官网网址为:http://www.mybatis.org/mybatis-3/,我这里使用的版本为3.3.0。下载完成之后解压可看到如下的目录结构: mybat...转载 2018-08-03 14:13:11 · 167 阅读 · 0 评论 -
如何使用mybatis《二》
前边阐述了如何在java项目中使用mybatis,我们使用的是映射文件的方式,在获得具体的数据操作方法时需要传入映射文件中namespace+“.”方法名称,这种方式有时候会感觉很不爽,很麻烦。我们在开发中不是常说要面向接口变成吗,mybatis也支持接口,下面在前面的例子的基础上做相应修改。前面的例子的环境及映射文件均保持不变,如下是我的映射文件,<mapper namespac...转载 2018-08-03 15:29:52 · 150 阅读 · 0 评论 -
mybatis中<set>标签和<trim prefix="set" suffixOverrides=",">
<update id="updateDcxx" parameterType="bdc.developers.vo.Dcxx">update deve_dcxx<set><if test="fwArea!=null">fw_area=#{fwArea},</if><if test="certifica转载 2018-09-04 15:32:25 · 2278 阅读 · 0 评论 -
mybatis之<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>
1.<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>prefix:在trim标签内sql语句加上前缀。suffix:在trim标签内sql语句加上后缀。suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=","转载 2018-09-04 15:51:10 · 222 阅读 · 0 评论 -
MySQL中union和order by同时使用的实现方法
MySQL中union和order by是可以一起使用的,但是在使用中需要注意一些小问题,下面通过例子来说明。首先看下面的t1表。1、如果直接用如下sql语句是会报错:Incorrect usage of UNION and ORDER BY。SELECT * FROM t1 WHERE username LIKE 'l%' ORDER BY score ASCUNIONSELE...转载 2018-09-20 17:27:33 · 153 阅读 · 0 评论 -
MySQL中ENGINE=InnoDB、AUTO_INCREMENT的意思
CREATE TABLE `hui_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户表id', `username` varchar(50) NOT NULL COMMENT '用户名', `password` varchar(50) NOT NULL COMMENT '用户密码,MD5加密', `email` va...转载 2018-09-20 17:52:18 · 4981 阅读 · 0 评论 -
数据库解析——mysql百万级以上查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id...转载 2018-10-09 13:45:44 · 157 阅读 · 0 评论 -
mysql 从一个表中查数据并插入另一个表实现方法
mysql 从一个表中查数据并插入另一个表实现方法不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段。本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中。此方法对于SQLServer数据库,也就是T-SQL来说,同样适用 。...转载 2018-10-09 17:38:46 · 748 阅读 · 0 评论 -
mysql进阶(一)
本节目录1、视图2、存储过程3、函数4、事务5、触发器6、流程控制语句1、视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用。那视图有什么用呢?视图的作用 1.使操作简单化,可以对经常使用的查询定义一个视图,使用户不必为同样的查询操作指定条件 ...转载 2018-10-19 14:54:25 · 138 阅读 · 0 评论 -
mysql进阶(二)之细谈索引、分页与慢日志
索引1、数据库索引 数据库索引是一种数据结构,可以以额外的写入和存储空间为代价来提高数据库表上的数据检索操作的速度,以维护索引数据结构。索引用于快速定位数据,而无需在每次访问数据库表时搜索数据库表中的每一行。 简单来说,数据库索引的本质是数据结构,这种数据结构能够帮助我们快速的获取数据库中的数据。2、索引种类普通索引:仅加速查询 唯一索引:加速查询 + 列值唯一(可以有n...转载 2018-10-19 15:02:27 · 143 阅读 · 0 评论 -
MySQL的五种日期和时间类型
MySQl中有多种表示日期和时间的数据类型。其中YEAR表示年份,DATE表示日期,TIME表示时间,DATETIME和TIMESTAMP表示日期和实践。它们的对比如下:YEAR ,字节数为1,取值范围为“1901——2155”DATE,字节数为4,取值范围为“1000-01-01——9999-12-31”TIME,字节数为3,取值范围为“-838:59:59——838:59...转载 2018-11-14 11:20:50 · 178 阅读 · 0 评论 -
mysql--慢查询
上篇博客已经列举了我们经常要用到的查询mysql状态的命令,当我们查看数据库状态一切正常时,此时某些查询还是很慢,我们就需要去找到这些慢查询,下面先了解什么是慢查询。慢查询: 分析mysql语句性能的方法,可以让mysql记录下查询超过指定时间的语句,我们将超过指定时间的sql语句查询称为“慢查询”。指定时间指运行时间超过long_query_time值得SQL,long_que...转载 2018-06-26 14:14:54 · 148 阅读 · 0 评论