mysql
mysql函数,复杂sql
DNYDYS
这个作者很懒,什么都没留下…
展开
-
9-Docker安装Mysql5.7
Docker安装Mysql5.71.拉取Mysql5.7镜像docker pull mysql:5.7.352.启动mysql镜像,创建一个mysql容器docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin 8a8a506ccfdc3.进入容器bash交互界面docker exec -it mysql bash4.登录mysql(用户名root,密码admin)mysql -uroot -p输原创 2021-12-26 15:05:43 · 677 阅读 · 0 评论 -
MySQL的Explain查看SQL语句执行效率
MySQL查看SQL语句执行效率背景: 最近项目架构升级,数据由 db2和sqlserver修改为mysql,很多老的sql语句要修改,部分sql语句效率过慢,要优化。Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where …]sql:EXPLAIN SELECT原创 2021-12-09 22:08:22 · 721 阅读 · 0 评论 -
解决1235 - This version of MySQL doesn‘t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery‘
背景:mysql子句中limit分页查询报错当让这个mysql8.0以上的版本支持子句中有limit,5.7还是不支持的所以报这个错报错sqlSELECT * FROM oc_current_day_revenue WHERE id IN ( SELECT id FROM oc_current_day_revenue LIMIT 10 )解决方案:SELECT * FROM oc_current_day_revenue WHERE id IN ( SELECT id FROM原创 2021-12-08 21:45:18 · 1411 阅读 · 0 评论 -
mysql之ON DUPLICATE KEY UPDATE的使用
SQL语句中的ON DUPLICATE KEY UPDATE使用背景:项目里面原来的sqlserver语法改为mysql语法,批量插入大量数据进入临时表,再从临时表加入正式表中,原来的逻辑是 临时表插入的正式表时,先由修改语句修改,再新增,这样巨麻烦,当时写这个代码的大哥也是耐心写完了, 小弟佩服ON DUPLICATE KEY UPDAT是连新增带更新一起走,sql一步到位走你补充:之前是批量插入巨多条数据到临时表中,500条一个批次INSERT INTO oc_product_tmp (原创 2021-11-30 22:26:10 · 508 阅读 · 0 评论 -
mysql日期函数TO_DAYS()函数
mysql日期函数TO_DAYS()函数背景:今天在项目里看到的sqlserver的days()函数,计算从0年开始到给定时间的天数,现在要修改为mysql语法,有个很奇怪的现象奥,同样都是今天2021-11-30,sqlserver的days()函数和mysql的TO_DAYS()函数计算出来的天数并不一样,这个我不太明白,知道的各路大牛可以留言给弟弟解下惑,谢谢TO_DAYS()函数给定一个日期date, 返回一个从年份0开始计算的天数select TO_DAYS(now()) as days原创 2021-11-30 21:01:26 · 8653 阅读 · 1 评论 -
mysql日期函数之DATEDIFF() if()用法 case when用法
mysql日期函数之DATEDIFF背景:用户密码七天后会过期,用户修改密码时会同步添加修改时间进数据库,登录时校验用户是否需要修改密码思路:过期时间表,专门存储几天后过期,默认七天用户表查询的sql语句select if(E.pastTime>expirationTime, "ture","false") as isUpdate from(select DATEDIFF(now(),U.updateTime) pastTime, t.expirationTimefr原创 2021-11-29 21:49:30 · 916 阅读 · 0 评论 -
天翼云Linux(CentOS7.6)安装mysql5.7全过程
天翼云CentOS7.6安装mysql5.7那一月,我转过所有经筒,不为超度,只为触摸你的指纹老不正经了,麻溜干活,进入正题1、下载MySQL5.7cd /usr/local/wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar没有wget命令的话可以yum命令安装。yum -y install wget2、解压安装包tar -xvf mysql-5.7.30原创 2021-11-27 15:45:03 · 1617 阅读 · 0 评论 -
Every derived table must have its own alias sql语句报错解决
Every derived table must have its own alias今天升级SQL,报了这个错翻译过来讲人话就是每个子查询里面的sql都必须有自己的别名所以,都已经讲这么明白了赶紧去起个别名把原创 2021-11-27 11:15:04 · 600 阅读 · 0 评论 -
mysql函数DATE_FORMAT()把日期的格式转换为YYYYMMDD的数字形式
mysql中把日期的格式转换为YYYYMMDD的数字形式DATE_FORMAT()mysql中把日期的格式转换为YYYYMMDD的数字形式使用函数DATE_FORMAT()%Y%m%d%H%i%s 年月日时分秒%Y%m%d 对应 YYYYMMDDselect now() as nowTime, DATE_FORMAT(now(),'%Y%m%d') as time不同格式对应不同的值select now() as nowTime, DATE_FORMAT(now(),'%Y%m%d%H%原创 2021-11-22 21:30:01 · 27942 阅读 · 0 评论 -
mysql实现row_number()
mysql实现row_number()背景:项目中用到的是db2,现在要换成mysqlsqlserver语句中有个函数rownumber() over() as rowid百度查了一下,mysql函数中没查到这个函数,所以这个函数可能是不通用的,就只能手动实现用于给数据库表中的记录进行标号select @row_num:=@row_num+1 as rowid,t.* from (select @row_num:=0) rowid, oc_current_day_revenue t原创 2021-11-22 21:13:37 · 1458 阅读 · 3 评论 -
mysql的union all和union的用法区别
mysql的union all和union的用法区别union all和unionMySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中,多个 SELECT 语句会删除重复的数据。union allselect polylineId from oc_current_day_revenueunion allselect id from oc_polylinedata查出来的数据存在重复数据unionselect polylineId from原创 2021-11-22 21:09:00 · 454 阅读 · 0 评论 -
mysql函数之ltrim(),rtrim(),trim()
mysql函数之ltrim(),rtrim(),trim()提前总结:ltrim():去除字符串左边的空格rtrim():去除字符串右边的空格trim(): 去除字符串两边的空格ltrim()去掉字符串左边的所有空格SELECT LTRIM(" RUNOOB ") AS LTrimmedStrin可以看到,字符串左边的空格都去除掉了,右边的还在。rtrim()SELECT RTRIM(" RUNOOB ") AS RTrimmedString原创 2021-11-22 21:05:21 · 823 阅读 · 0 评论 -
mysql函数
没有刻意的系统的学,用到那个就学一下记一下目录字符串截取之substring_indexfind_in_set()函数字符串截取之substring_indexsubstring_index(a,b,count) a:要处理的列 b:分隔符 count:计数例如 a = www.baidu.com String str = substring_index(a,".",1) str结果为www 如果count是正数,那么就是从左往右数,第N个分隔符的左边的原创 2021-06-03 15:17:40 · 68 阅读 · 0 评论