![](https://img-blog.csdnimg.cn/20200427164940887.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
文章平均质量分 56
mysql
小哇666
专注web/大数据
展开
-
mysql根据指定顺序返回数据--order by field
【代码】mysql根据指定顺序返回数据--order by field。原创 2024-03-02 17:12:57 · 418 阅读 · 0 评论 -
mysql SQL语句 left join inner join On和Where语句的区别
where后面是过滤条件, 就是做过滤的, 只要where不满足, 结果压根就不显示。on 是做匹配的, 不匹配的用NULL填充。inner join时,on 等同于where 过滤条件。left join 时,转载 2024-02-29 14:13:50 · 27 阅读 · 0 评论 -
大批量数据,用mysql批量更新数据的四种方法
【代码】大批量数据,用mysql批量更新数据的四种方法。原创 2024-02-26 13:58:30 · 3242 阅读 · 0 评论 -
mysql索引优化 - 排序分组优化
where 条件和 on 的判断这些过滤条件,作为优先优化的部分,是要被先考虑的!其次,如果有分组和排序,那么 也要考虑 grouo by 和 order by。1. 必须有过滤,才会用到索引结论:where,limt 都相当于一种过滤条件,所以才能使用上索引!2. 顺序不要错,否则会产生 Using filesort(需要优化)explain select * from emp where age=45 order by deptid,name;explain select * from .原创 2021-07-06 21:32:25 · 358 阅读 · 1 评论 -
mysql索引优化 - 子查询优化
结论: 在范围判断时,尽量不要使用 not in 和 not exists,使用 left join on xxx is null 代替。取所有不为掌门人的员工,按年龄分组!select age as '年龄', count(*) as '人数' from t_emp where id not in (select ceo from t_dept where ceo is not null) group by age;如何优化? 1 解决 dept 表的全表扫描,建立 ceo 字段的索引: ..原创 2021-07-06 16:23:34 · 120 阅读 · 0 评论 -
mysql索引优化 - 多表关联查询优化
1 left joinEXPLAIN SELECT * FROM class LEFT JOIN book ON class.card = book.card;LEFT JOIN条件用于确定如何从右表搜索行, 左边一定都有,#所以右边是我们的关键点,一定需要建立索引。结论:在优化关联查询时,只有在被驱动表上建立索引才有效! left join 时,左侧的为驱动表,右侧为被驱动表2right join条件用于确定如何从左表搜索行, 右边一定都有EXPLAIN SELECT*FROM ...原创 2021-07-06 16:04:25 · 2544 阅读 · 0 评论 -
mysql索引优化 - 单表如何使用索引优化 以及 常见的索引失效的原因分析
1. 全值匹配我最爱,查询的字段按照顺序在索引中都可以匹配到!建立索引CREATE INDEX idx_age_deptid_name ON emp(age,deptid,NAME);SQL 中查询字段的顺序,跟使用索引中字段的顺序,没有关系。优化器会在不影响 SQL 执行结果的前提下,给 你自动地优化。如下图2. 最佳左前缀法则查询字段与索引字段顺序的不同会导致,索引无法充分使用,甚至索引失效! 原因:使用复合索引,需要遵循最佳左前缀法则,即如果索引了多列,要遵守最左前缀法则。指的是查询..原创 2021-07-06 14:33:35 · 151 阅读 · 0 评论 -
mysql索引优化 - explain性能分析详细概述
expain出来的信息有10列,分别是id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra概要描述:id:选择标识符select_type:表示查询的类型。table:输出结果集的表partitions:匹配的分区type:表示表的连接类型possible_keys:表示查询时,可能使用的索引key:表示实际使用的索引key_len:索引字段的长度ref:列与索引的比较rows:扫描出的行数(估算的行..原创 2021-07-06 13:29:16 · 151 阅读 · 0 评论 -
mysql哪些情况适合创建索引,哪些情况不适合创建索引概述,以及创建索引,查看索引,删除索引 命令使用
创建测试表CREATE TABLE `app_user` ( `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) DEFAULT '', `email` VARCHAR(50) DEFAULT NULL, `phone` VARCHAR(20) DEFAULT '', `gender` TINYINT(4) UNSIGNED DEFAULT '0', `password` VARCHAR(10原创 2021-07-06 10:37:00 · 447 阅读 · 0 评论 -
sql语句-create table XXX select 和 insert into XXX select 语句的使用
无需先建表,并将select的查询结果导入到新表中CREATE TABLE new_emp AS SELECT * FROM emp WHERE deptno IN(20, 30);将select查询出的数据,插入到 new_emp 中INSERT INTO new_emp SELECT * FROM emp WHERE deptno = 10;原创 2020-11-13 14:17:35 · 806 阅读 · 0 评论 -
sql语句-子查询 -单行多列,ANY,ALL,JOIN等地方的使用
子查询可以返回一行多列的数据SELECT * FROM emp WHERE (job, sal) = (SELECT job, sal FROM emp WHERE ename = 'SCOTT');ANY 关键字ANY :等于其中的任意一个就符合条件SELECT * FROM emp WHERE sal =ANY(SELECT MIN(sal) FROM emp WHERE deptno IS NOT NULL GROUP BY deptno);ALL 关键词<>ALL原创 2020-11-13 13:46:16 · 1329 阅读 · 0 评论 -
MySQL 对查询的结果集添加自增序号,两种写法
在MySQL中,当我们所要查询的结果集没有ID字段时,为方便前台展示等业务需求,需要添加一个自增的序号字段(ID)。语法如下:SELECT (@i:=@i+1) 别名1,表字段信息 FROM 表名, (SELECT @i:=0) AS 别名2代码示例,同时结合分页使用写法1SET @i:=0;SELECT (@i:=@i+1) AS RowNum, A.* FROM t_prize_log A ORDER BY A.ese_id DESC LIMIT 0, 10;写法2SELE原创 2020-11-04 15:07:49 · 6828 阅读 · 1 评论 -
mysql中find_in_set()函数的使用,和in的区别,和like的区别
首先举个例子来说:有个文章表里面有个type字段,它存储的是文章类型,有 1头条、2推荐、3热点、4图文等等 。现在有篇文章他既是头条,又是热点,还是图文,type中以 1,3,4 的格式存储。那我们如何用sql查找所有type中有4的图文类型的文章呢??这就要我们的 find_in_set 出马的时候到了。以下为引用的内容:select * from article where FIND_IN_SET('4',type)---------------------------------..转载 2020-11-04 14:11:33 · 637 阅读 · 0 评论 -
MySQL DATE_SUB(date,INTERVAL expr type)函数 从日期减去指定的时间间隔
定义和用法DATE_SUB() 函数从日期减去指定的时间间隔。语法DATE_SUB(date,INTERVAL expr type)date参数是合法的日期表达式。expr参数是您希望添加的时间间隔。type 参数可以是下列值:Type 值 MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND ..转载 2020-11-04 13:40:35 · 727 阅读 · 0 评论 -
MySQL IFNULL() 函数
IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。IFNULL() 函数语法格式为:IFNULL(expression, alt_value)如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。参数说明:参数 描述 expression 必须,要测试的值 alt_value 必须,expression 表达式为 NULL 时返回的值转载 2020-10-20 18:39:30 · 111 阅读 · 0 评论 -
Hive,mysql 差集运算 left outer join
差集定义:一般地,设A,B是两个集合,由所有属于A且不属于B的元素组成的集合,叫做集合A减集合B(或集合A与集合B之差)。 类似地,对于集合A,B,我们把集合{x/x∈A,且x¢B}叫做A与B的差集,记作A-B记作A-B(或A\B); 即A-B={x|x∈A,且x ¢B}(或A\B={x|x∈A,且x ¢B} B-A={x/x∈B且x¢A} 叫做B与A的差集。比如说有这么两个表: hive...转载 2020-10-20 18:33:25 · 613 阅读 · 0 评论 -
linux系统 yum方式安装mysql5.7
1 安装 MySQL 的 Yum 仓库,安装好后,通过yum repolist 可查看yum源,进入/etc/yum.repos.d/目录,也可看到相应的yum源文件sudo yum -y localinstall https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm2安装 MySQL:sudo yum -y install mysql-community-server3 设置为开机启动:sud...原创 2020-09-20 19:50:05 · 369 阅读 · 0 评论 -
MySQL之执行流程图 [文档]
原创 2020-04-27 16:46:32 · 609 阅读 · 0 评论 -
mysql 通过日期类型字段来查询数据
核心函数是DATE_FORMAT()语法是:DATE_FORMAT(date,format)参数解释:date 参数是合法的日期。format 规定日期/时间的输出格式SELECT DATE_FORMAT(NOW(),'%Y-%m-%d')SELECT DATE_FORMAT('20200425162612','%Y-%m-%d') SELECT DATE_FORMAT('2...原创 2020-04-26 17:30:35 · 573 阅读 · 0 评论