
mysql
爱智慧的打工人
我只知道一件事,就是我一无所知
展开
-
sql存储过程获取经纬度字符串中的经度和维度,并计算距离
//获取经度CREATE or replace FUNCTION M_LNG(str varchar(255)) RETURN varchar(255)as result varchar(255);BEGINset result = left(str,position(',',str)-1);RETURN result ;END//获取维度CREATE or replace FUNCTION M_LAT(str varchar(255)) RETURN varchar(255)as原创 2021-03-11 17:12:41 · 401 阅读 · 0 评论 -
mysql 按15分钟取整
# 900:15分钟*60秒,now() 需要取整的时间,可以改为表中时间字段SELECT now() - interval (TIME_TO_SEC(now()) mod 900) second from dual转载 2021-03-08 15:28:27 · 884 阅读 · 0 评论 -
mysql 为结果生成 序号
SELECT account, (@i:=@i+1) AS rows FROM s_user, (SELECT @i := 0) AS it ORDER BY account DESC转载 2021-03-06 13:54:45 · 492 阅读 · 0 评论 -
根据经纬度sql计算距离存储过程
CREATE or replace FUNCTION FUN_JW_DIST ( lng1 double, lat1 double, lng2 double, lat2 double) RETURN double as原创 2021-03-04 10:48:43 · 331 阅读 · 1 评论 -
MySQL根据经纬度排序
1.SELECT *,(st_distance(point(lng,lat),point(116.3424590000,40.0497810000))*111195/1000 ) as juli FROM table ORDER BY juli ASC 2.SELECT *, ( 2 * 6378.137 * ASIN( SQRT( POW( SIN( PI() * (111.86141967773438 - lng) / 360 ),转载 2021-01-12 20:48:51 · 628 阅读 · 0 评论 -
java + mysql 查询树形数据
1.支持根据子级 查询到 其所有父级2.支持根据父级分页1.创建存储函数# 根据父级查所有子级CREATE FUNCTION `queryChildrensId`(orgid char(255)) RETURNS varchar(4000) CHARSET utf8BEGINDECLARE oTemp VARCHAR(4000);DECLARE oTempChild VARCHAR(4000); SET oTemp = '';SET oTempChild = orgid; WHIL原创 2020-12-23 14:18:14 · 897 阅读 · 0 评论 -
mysql存储过程 递归查询
create function getChildrenOrg(orgid char(255))returns varchar(4000)BEGINDECLARE oTemp VARCHAR(4000);DECLARE oTempChild VARCHAR(4000); SET oTemp = '';SET oTempChild = orgid; WHILE oTempChild IS NOT NULLDOSET oTemp = CONCAT(oTemp,',',oTempChild);原创 2020-10-30 15:26:31 · 397 阅读 · 0 评论 -
mysql 递归查询
SELECT id AS ID,pid AS 父ID ,levels AS 父到子之间级数, paths AS 父到子路径 FROM ( SELECT id,pid, @le:= IF (pid = 0 ,0, IF( LOCATE( CONCAT('|',pid,':'),@pathlevel) > 0 , SUBSTRING_INDEX( SUBSTRING_INDEX(@pathlevel,CONCA原创 2020-10-23 12:07:13 · 320 阅读 · 0 评论 -
MySQL 日期时间函数
1、NOW获取当前日期和时间的函数。语法: NOW()例如:select NOW();2、CURDATE获取当前的日期语法:CURDATE()3、CURTIME()获取当前时间语法:CURTIME()4、DATE获取日期时间或者日期的日期部分语法:DATE(date)date 参数是合法的日期表达式。5、EXTRACT获取返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。语法:EXTRACT(unit F原创 2020-07-01 16:24:39 · 158 阅读 · 0 评论 -
mysql 查询 时间段内 数据 并 获取每一天的日期
-- 关联 sys_date 表 获取时间段内 每一天的 日期SELECT d.rep_date FROM sys_date d WHERE to_days( d.rep_date ) >= to_days( '2020-04-01' ) AND to_days( d.rep_date ) <= to_days( '2020-07-01' ) -- 使用变量 获取时间段内 每一天的 日期SELECT @date := DATE_ADD( @date.原创 2020-06-12 10:49:26 · 4353 阅读 · 3 评论 -
MySQL实现按天分组统计,提供完整日期列表,无数据自动补0
https://www.cnblogs.com/rinack/p/11105779.html原创 2020-06-11 21:05:28 · 1063 阅读 · 0 评论 -
mysql中find_in_set()函数的使用
https://www.cnblogs.com/xiaoxi/p/5889486.html原创 2020-06-11 21:01:00 · 182 阅读 · 0 评论 -
mysql 根据日期进行查询数据,没有数据也要显示空
https://blog.youkuaiyun.com/guoqing2016/article/details/91038162原创 2020-06-11 18:18:47 · 2079 阅读 · 0 评论 -
深入MySQL用户自定义变量:使用详解及其使用场景案例
https://www.cnblogs.com/genialx/p/5932558.html原创 2020-06-11 17:13:15 · 287 阅读 · 0 评论 -
MySQL日期加减
http://www.360doc.com/content/19/0304/13/13328254_819122049.shtml原创 2020-06-11 17:09:42 · 246 阅读 · 0 评论 -
mysql日期函数大全
#查询某日期是星期几(1=星期天,2=星期一,…………,7=星期六)。SELECT DAYOFWEEK('2019-09-23') #查询某日期是星期几(0=星期一,1=星期二,…………,6=星期天)。SELECT WEEKDAY('2019-09-29') #查询该日期为当月的第几天(1-31) 。SELECT DAYOFMONTH('2019-09-29') #查询该日期为当年的第几天(1-366) 。SELECT DAYOFYEAR('2019-09-29') #查询某日期的月份(1-转载 2020-06-10 16:53:52 · 249 阅读 · 0 评论 -
mysql函数之截取字符串
https://www.cnblogs.com/shuaiandjun/p/7197450.html?utm_source=itdadao&utm_medium=referral原创 2020-06-05 17:21:10 · 164 阅读 · 0 评论 -
insert into select(insert select)和select into from语句
https://blog.youkuaiyun.com/kaixuansui/article/details/88861226原创 2020-05-28 11:31:32 · 502 阅读 · 0 评论 -
安装MySQL提示找不到msvcr120.dll解决办法
安装MySQL提示找不到msvcr120.dll解决办法下载 VC redist packages for x64,安装即可解决原创 2020-04-14 11:13:32 · 6924 阅读 · 3 评论 -
MySQL锁问题
MySQL锁问题1 锁概述2 锁分类3 Mysql 锁4 MyISAM 表锁4.1 获得表的读锁4.2 获得tb_book 表的写锁4.3 查看锁的争用情况5 InnoDB 行锁5.1 行锁介绍5.2 背景知识5.3 InnoDB 的行锁模式5.4 无索引行锁升级为表锁5.5 间隙锁危害5.6 InnoDB 行锁争用情况5.7 总结1 锁概述锁是计算机协调多个进程或线程并发访问某一资源...原创 2020-04-11 16:14:39 · 507 阅读 · 0 评论 -
MySQL并发参数调整
MySQL并发参数调整1 max_connections2 back_log3 table_open_cache4 thread_cache_size5 innodb_lock_wait_timeout从实现上来说,MySQL Server 是多线程结构,包括后台线程和客户服务线程。多线程可以有效利用服务器资源,提高数据库的并发性能。在Mysql中,控制并发连接和线程的主要参数包括 max_co...原创 2020-04-11 15:44:29 · 433 阅读 · 0 评论 -
MySQL内存管理及优化
MySQL内存管理及优化1 内存优化原则2 MyISAM 内存优化3 InnoDB 内存优化1 内存优化原则1) 将尽量多的内存分配给MySQL做缓存,但要给操作系统和其他程序预留足够内存。2) MyISAM 存储引擎的数据文件读取依赖于操作系统自身的IO缓存,因此,如果有MyISAM表,就要预留更多的内存给操作系统做IO缓存。3) 排序区、连接区等缓存是分配给每个数据库会话(sessio...原创 2020-04-11 15:34:56 · 270 阅读 · 0 评论 -
MySQL中查询缓存优化
MySQL中查询缓存优化1 概述2 操作流程3 查询缓存配置4 开启查询缓存5 查询缓存SELECT选项6 查询缓存失效的情况1 概述开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果,当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存。2 操作流程客户端发送一条查询给服务器;服务器先会检查查询缓存,如果命中了缓存,则立即返回存储...原创 2020-04-11 15:21:02 · 366 阅读 · 0 评论 -
MySQL之应用优化
1 使用连接池对于访问数据库来说,建立连接的代价是比较昂贵的,因为我们频繁的创建关闭连接,是比较耗费资源的,我们有必要建立 数据库连接池,以提高访问的性能。2 减少对MySQL的访问2.1 避免对数据进行重复检索在编写应用代码时,需要能够理清对数据库的访问逻辑。能够一次连接就获取到结果的,就不用两次连接,这样可以大大减少对数据库无用的重复请求。比如 ,需要获取书籍的id 和name字段 ...原创 2020-04-11 14:58:42 · 172 阅读 · 0 评论 -
MySQL之sql优化
1 查看SQL执行频率MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。show[session|global] status 可以根据需要加上参数“session”或者“global”来显示 session 级(当前连接)的计结果和global 级(自数据库上次启动至今)的统计结果。如果不写,默认使用参数是“session...原创 2020-04-10 18:17:41 · 571 阅读 · 0 评论 -
MySQL获取本年、本月,本周,本季度的第一天和最后一天
MySQL获取本年,本月,本周,本季度的第一天和最后一天-- 返回本周第一天select date_sub(now(),interval dayofweek(now())-2 day)-- 返回本周最后一天select date_add(now(),interval 7-dayofweek(now())+1 day)-- 返回本月第一天select date_sub(now(),i...原创 2020-04-09 23:27:10 · 5746 阅读 · 0 评论 -
mysql获取本周的周一和周日,判断日期是否在本周
mysql获取本周的周一和周日-- 返回本周周一的日期select date_sub(now(),interval dayofweek(now())-2 day)-- 返回本周周末的日期select date_add(now(),interval 7-dayofweek(now())+1 day)--获取本周的数据select * from 表名 where 时间字段&l...原创 2020-04-09 22:48:19 · 2485 阅读 · 0 评论 -
MySQL中sum()与count()的用法
文章目录1.sum()用法1.1 求和1.2 求记录数1.2.1 求总记录数1.2.2 求符合条件的记录数2.count()2.1 求总记录数2.2 求符合条件的总记录数1.sum()用法1.1 求和SUM() 是一个求总和的函数,返回指定列值的总和。如果在没有返回匹配行 SELECT 语句中使用 SUM 函数,则 SUM 函数返回 NULL,而不是 0。SUM 函数忽略计算中的 NU...原创 2020-04-08 23:49:47 · 3152 阅读 · 0 评论 -
MySQL高级之触发器
触发器1 介绍2 创建触发器3 删除触发器4 查看触发器1 介绍触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性 , 日志记录 , 数据校验等操作 。使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持...原创 2020-04-07 10:59:27 · 400 阅读 · 0 评论 -
MySQL高级之存储过程和存储函数
存储过程和存储函数1 存储过程和函数概述2 创建存储过程3 调用存储过程4 查看存储过程5 删除存储过程6 语法6.1 变量6.2 if条件判断6.3 传递参数6.4 case结构6.5 while循环6.6 repeat结构6.7 loop语句6.8 leave语句6.9 游标/光标7 存储函数1 存储过程和函数概述存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调...原创 2020-04-07 10:41:02 · 1073 阅读 · 0 评论 -
MySQL高级之视图
MySQL高级之视图1 视图概述2 创建或者修改视图3 查看视图4 删除视图1 视图概述视图(View)是一种虚拟存在的表。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,且是在使用视图时动态生成的。通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。视图相对于普通的表的优势主要包括以下几项。简...原创 2020-04-06 19:37:28 · 766 阅读 · 1 评论 -
MySQL高级之索引
MySQL高级之索引1 索引概述2 索引优势劣势3 索引结构3.1 BTREE 结构3.2 B+TREE 结构3.3 MySQL中的B+Tree4 索引分类5 索引语法5.1 创建索引5.2 查看索引5.3 删除索引5.4 ALTER命令6 索引设计原则1 索引概述MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足...原创 2020-04-06 18:25:46 · 596 阅读 · 0 评论