mysql高级篇三:常用sql技巧
文章目录
- SQL执行顺序
- 正则表达式使用
- MySQL 常用函数
SQL执行顺序
编写顺序
SELECT DISTINCT<select list>
FROM<left_table> <join_type>
JOIN<right_table> ON <join_condition>
WHERE<where_condition>
GROUP BY<group_by_list>
HAVING<having_condition>
ORDER BY<order_by_condition>
LIMIT<limit_params>
执行顺序
FROM <left_table>ON <join_condition><join_type> JOIN <right_table>WHERE <where_condition>GROUP BY <group_by_list>HAVING <having_condition>SELECT DISTINCT <select list>ORDER BY <order_by_condition>LIMIT <limit_params>
正则表达式使用
正则表达式(Regular Expression)是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。
符号 | 含义 |
---|---|
^ | 在字符串开始处进行匹配 |
$ | 在字符串末尾处进行匹配 |
. | 匹配任意单个字符, 包括换行符 |
[…] | 匹配出括号内的任意字符 |
[^…] | 匹配不出括号内的任意字符 |
a* | 匹配零个或者多个a(包括空串) |
a+ | 匹配一个或者多个a(不包括空串) |
a? | 匹配零个或者一个a |
a1|a2 | 匹配a1或a2 |
a(m) | 匹配m个a |
a(m,) | 至少匹配m个a |
a(m,n) | 匹配m个a 到 n个a |
a(,n) | 匹配0到n个a |
(…) | 将模式元素组成单一元素 |
select * from emp where name regexp '^T';select * from emp where name regexp '2$';select * from emp where name regexp '[uvw]';
MySQL 常用函数
数字函数
函数名称 | 作 用 |
---|---|
ABS | 求绝对值 |
SQRT | 求二次方根 |
MOD | 求余数 |
CEIL 和 CEILING | 两个函数功能相同,都是返回不小于参数的最小整数,即向上取整 |
FLOOR | 向下取整,返回值转化为一个BIGINT |
RAND | 生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列 |
ROUND | 对所传参数进行四舍五入 |
SIGN | 返回参数的符号 |
POW 和 POWER | 两个函数的功能相同,都是所传参数的次方的结果值 |
SIN | 求正弦值 |
ASIN | 求反正弦值,与函数 SIN 互为反函数 |
COS | 求余弦值 |
ACOS | 求反余弦值,与函数 COS 互为反函数 |
TAN | 求正切值 |
ATAN | 求反正切值,与函数 TAN 互为反函数 |
COT | 求余切值 |
字符串函数
函数名称 | 作 用 |
---|---|
LENGTH | 计算字符串长度函数,返回字符串的字节长度 |
CONCAT | 合并字符串函数,返回结果为连接参数产生的字符串,参数可以使一个或多个 |
INSERT | 替换字符串函数 |
LOWER | 将字符串中的字母转换为小写 |
UPPER | 将字符串中的字母转换为大写 |
LEFT | 从左侧字截取符串,返回字符串左边的若干个字符 |
RIGHT | 从右侧字截取符串,返回字符串右边的若干个字符 |
TRIM | 删除字符串左右两侧的空格 |
REPLACE | 字符串替换函数,返回替换后的新字符串 |
SUBSTRING | 截取字符串,返回从指定位置开始的指定长度的字符换 |
REVERSE | 字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串 |
日期函数
函数名称 | 作 用 |
---|---|
CURDATE 和 CURRENT_DATE | 两个函数作用相同,返回当前系统的日期值 |
CURTIME 和 CURRENT_TIME | 两个函数作用相同,返回当前系统的时间值 |
NOW 和 SYSDATE | 两个函数作用相同,返回当前系统的日期和时间值 |
MONTH | 获取指定日期中的月份 |
MONTHNAME | 获取指定日期中的月份英文名称 |
DAYNAME | 获取指定曰期对应的星期几的英文名称 |
DAYOFWEEK | 获取指定日期对应的一周的索引位置值 |
WEEK | 获取指定日期是一年中的第几周,返回值的范围是否为 0〜52 或 1〜53 |
DAYOFYEAR | 获取指定曰期是一年中的第几天,返回值范围是1~366 |
DAYOFMONTH | 获取指定日期是一个月中是第几天,返回值范围是1~31 |
YEAR | 获取年份,返回值范围是 1970〜2069 |
TIME_TO_SEC | 将时间参数转换为秒数 |
SEC_TO_TIME | 将秒数转换为时间,与TIME_TO_SEC 互为反函数 |
DATE_ADD 和 ADDDATE | 两个函数功能相同,都是向日期添加指定的时间间隔 |
DATE_SUB 和 SUBDATE | 两个函数功能相同,都是向日期减去指定的时间间隔 |
ADDTIME | 时间加法运算,在原始时间上添加指定的时间 |
SUBTIME | 时间减法运算,在原始时间上减去指定的时间 |
DATEDIFF | 获取两个日期之间间隔,返回参数 1 减去参数 2 的值 |
DATE_FORMAT | 格式化指定的日期,根据参数返回指定格式的值 |
WEEKDAY | 获取指定日期在一周内的对应的工作日索引 |
聚合函数
函数名称 | 作用 |
---|---|
MAX | 查询指定列的最大值 |
MIN | 查询指定列的最小值 |
COUNT | 统计查询结果的行数 |
SUM | 求和,返回指定列的总和 |
AVG | 求平均值,返回指定列数据的平均值 |
mysql高级篇三:常用sql技巧相关推荐
- MySQL高级篇(事务视图存储过程与函数)
目录 一.事务 1.1什么是事务? 1.2事务的特性 1.3事务的分类 1.4事务的操作步骤 1.5事务的隔离级别(面试题常考) 二.视图 2.1视图的操作 2.1.1视图的创建 2.1.2视图更新( ...
- MySQL高级篇知识点——其它数据库日志
目录 1.其他数据库日志 1.1.日志类型 1.2.日志的弊端 2.慢查询日志 (slow query log) 3.通用查询日志 (general query log) 3.1.问题场景 3.2.查 ...
- mysql高级篇学习笔记
目录 前言 1 mysql安装及运行(linux环境) 1.1 安装前检查 1.2 MySQL卸载 ①**关闭 mysql 服务** ②**查看当前 mysql 安装状况** ③**卸载上述命令查询出 ...
- mysql高级篇(二)mysql索引优化分析
mysql高级篇笔记 mysql高级篇(一)mysql的安装配置.架构介绍及SQL语句的复习. mysql高级篇(二)mysql索引优化分析. mysql高级篇(三)查询截取分析(慢查询日志).主从复 ...
- MySQL高级篇知识点——索引优化与查询优化
目录 1.数据准备 1.1.建库建表 1.2.创建相关函数 1.3.创建存储过程 1.4.调用存储过程 1.5.删除某表上的索引 2.索引失效案例 2.1.全值匹配 2.2.最佳左前缀匹配原则 2.3 ...
- MySQL 排查锁表常用SQL
文章目录 MySQL 排查锁表常用Sql 锁信息 查询是否被锁的表 查询innodb事务获取的锁 查询会话 当前会话列表 基于IP过滤 基于数据库过滤 会话详情 查询会话执行过的sql 杀死会话 杀死 ...
- 【MySQL高级篇笔记-MySQL事务日志(下) 】
此笔记为尚硅谷MySQL高级篇部分内容 目录 一.redo日志 1.为什么需要REDO日志 2.REDO日志的好处.特点 3.redo的组成 4.redo的整体流程 5.redo log的刷盘策略 6 ...
- MySQL高级篇(SQL优化、索引优化、锁机制、主从复制)
目录 0 存储引擎介绍 1 SQL性能分析 2 常见通用的JOIN查询 SQL执行加载顺序 七种JOIN写法 3 索引介绍 3.1 索引是什么 3.2 索引优劣势 3.3 索引分类和建索引命令语句 3 ...
- 程序猿必备技能之MySQL高级篇
MySQL是我们非常常用的关系型数据库,非常重要,所以在这里给大家整理下MySQL的高级内容. 1. MySQL高级特性 1.1. MySQL体系结构 Client Connectors: 接入方 ...
最新文章
- 英语是缺乏AOP的语言,汉语是具备AOP的语言。
- 【计算机网络】物理层和数据链路层概述吐血总结(这知识它不进脑子啊~!)
- 执行多条SQL语句,执行数据库事务(可传入Sql参数)
- 运维开发学go还是python_运维工程师是要学python还是学go那?
- GDB and core
- 信息奥赛一本通(1112:最大值和最小值的差)
- Oracle体系概要
- 基于React开发一个音乐播放器
- 14款国内外主流三维GIS软件
- 51单片机实现电子密码锁设计
- 计算机网络线接法,网线水晶头接法图解 一分钟学会网线怎么接
- 史上最全Java学习路线
- scikit-learn机器学习八 (数据预处理)
- java 识别图片 边框_atitit.验证码识别step3----去除边框---- 图像处理类库 attilax总结java版本...
- VIO学习笔记(二)—— IMU 传感器
- 解锁“不可能”:苏门答腊犀牛让我开始重新思考AI
- wps 分节符(连续) 自动变成 分节符(下一页) 解决办法
- CSS 水平居中、垂直居中、水平垂直居中
- 计算机模拟多孔碳,华南农业大学刘应亮教授课题组:废弃板栗壳制备多孔碳材料,用于用于储能设备...
- 【TCP】【JPerf】基于STM32H7开发板的TCP性能测试
热门文章
- 图片压缩大小电脑怎么操作?3秒教你图片怎么压缩大小
- Premiere新冠病毒视频介绍病毒知识讲解视频PR模板
- 程序员的PPT写作方式果然别具一格啊
- 爸爸喜欢做的事有钓鱼、看书 妈妈喜欢做的事有画画、烹饪 儿子继承了父母双方的爱好,输出儿子喜欢做的事 (提示:使用多继承)
- JAVAWEB开发之权限管理(一)——权限管理详解(权限管理原理以及方案)、不使用权限框架的原始授权方式详解
- SLAM笔记(四)运动恢复结构的几何数学(本征矩阵、单应矩阵、基础矩阵)
- bim学习—— 第7章 放置首层门窗
- spark sql 数据类型转换_Databricks 第9篇:Spark SQL 基础(数据类型、NULL语义)
- Android四大组件之总结篇
- 海外仓头程有什么作用,海外仓头程与FBA海外仓头程有什么区别