Mysql完全手册(笔记一,底层与内置函数)
1、MySQL由五个主子系统组成。协同工作,这五个主子系统是:
(1)查询引擎
(2)存储管理器
(3)缓冲管理器
(4)事务管理器
(5)恢复管理器

查询引擎:
这个子系统包含三个相互关联的部件:
(1)语法分析器
(2)查询优化器
(3)执行部件
除了五个主子系统外,MySQL体系结构还包括两个辅助部件
(1)过程管理器
(2)函数库
2、查询
(1)通过distinct关键字去重
select distinct Fname from tables
(2)AVG()函数计算平均值
select AVG(math) from tables
(3)MIN()和MAX()函数找出最大和最小值
select MIN(math) from tables
3、函数
(1)数学函数
CEILING(x) 返回大于x的最小整数值
FLOOR(x) 返回小于x的最大整数值
GREATEST(x1,x2,…,xn) 返回集合中最大的值
LEAST(x1,x2,…,xn) 返回集合中最小的值
RAND() 返回0到1内的随机数
(2)聚合函数
AVG(col)
COUNT(col)
MIN(col)
MAX(col)
SUM(col)
(3)字符串函数
ASCII(char) 返回字符的ASCII码值
BIT_LENGTH(str) 返回字符串的比特长度
CHAR(x1,x2,…,xn) 返回x1,x2,…,xn所代表的ASCII码值给出的字符组成的字符串
CONCAT(s1,s2,…,sn) 将s1,s2,…,sn连接成字符串
CONCAT_WS(sep.s1,s2,…,sn) 将s1,s2,…,sn连接成字符串,并用seq字符间隔
INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
FIELD(str,s1,s2,…,sn) 分析列表s1,s2,…,sn,如果发现str,则返回str在列表s1,s2,…,sn中的索引
FIND_IN_SET(str,list) 分析逗号分隔的list列表,如果发现str,返回str在list中的位置
LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的记过
LEFT(str,x) 返回字符串str中最左边的x个字符
LENGTH(s) 返回字符串str中的字符数
LPAD(str,n,pad) 用字符串pad对str进行左边填补直至达到n个字符长度
LTRIM(str) 从字符串str中切掉开头的空格
POSITION(substr,str) 返回子串substr在字符串str中第一次出现的位置
QUOTE(str) 用反斜杠转义中的单引号
REPEAT(str,x) 返回字符串str重复x次的结果
REPLACE(str,srchstr,rplcstr) 用字符串relsctr替换字符串str中所有出现的字符串srchstr
REVERSE(str) 返回颠倒字符串str的结果
RIGHT(str,x) 返回字符串str中最右边的x个字符
RPAD(str,x,pad) 用字符串pad对str进行右边填补直至达到n个字符长度
RIRIM(str) 去除字符串str尾部的空格
STRCMP(s1,s2) 比较字符串s1和s2,不区分大小写,相同返回1,不相同-1
SUBSTRING(str,x,y)或MID(str,x,y) 返回从字符串str的x位置起y个字符长度的子串
TRIM(str) 去除字符串首部和尾部的所有空格
UCASE(str)或UPPER(str) 返回将字符串str中所有字符转变为大写的结果
SPACE(x) 生成x个空格
(4)时间函数
CURDATE()或CURRENT_DATE() 返回当前的日期
CURTIME()或CURRENT_TIME() 返回当前的时间
DATE_ADD(date,INTERVAL int keyword) 返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化)
DATE_FORMAT(date,fmt) 依照指定的fmt格式格式化日期date值
DATE_SUB(date,INTERVAL int keyword) 返回日期date减去间隔时间int的结果(int必须按照关键字进行格式化)
DAYOFWEEK(date) 返回date所代表的一星期中的第几天(1~7)
DATOFMONTH(date) 返回date是一个月的第几天(1~31)
DAYOFYEAR(date) 返回date是一年的第几天(1~366)
DAYNAME(date) 返回date的星期名
EXTRACT(keyword FROM date) 返回日期date的指定部分,即keyword指定的
FROM_DAYS(x) 返回一个日期,它是由年份0加上x天产生的
FROM_UNIXTIME(ts,fmt) 根据指定的fmt格式,格式化unix使劲戳ts
HOUR(time) 返回time的小时值(0-23)
MINUTE(time) 返回time的分钟值(0~59)
MONTH(date) 返回time的月份值(1-12)
MONTHNAME(date) 返回date的月份名
NOW() 返回当前的日期和时间
QUARTER(date) 返回date在一年中的季度(1~4)
PERIOD_ADD(date,mon) 返回日期date增加mon月份的结果
PERIOD_DIFF(date1,date2) 返回日期date1和date2相差的月份
SECOND(time) 返回time的秒值(0-59)
SEC_TO_TIME(x) 把秒值x转换为易读的时间值
TIME_FORMAT(time,fmt) 依照指定的fmt格式格式化时间time值
TIME_TO_SEC(time) 将时间time转化为秒数
TO_DAYS(date) 返回从0年到日期date的天数
UNIX_TIMESTAMP(date) 返回日期date所代表的unix时间戳
WEEK(date) 返回日期date为一年中的第几周(0~53)
YEAR(date) 返回日期date的年份(1000~9999)
(5)加密函数
省略
(6)控制流函数
CASE WHEN[test] THEN[result] … ELSE [default] END 如果test是真,则返回result,否则返回default
CASE [test] WHEN [val] THEN [result] … ELSE [default] END 如果test和val相等,则返回result,否则返回default
IF(test,x,y) 如果test是真,返回x,否则返回y
IFNULL(arg1,arg2) 如果arg1不是空,返回arg1,否则返回arg2
NULLIF(arg1,arg2) 如果arg1=arg2返回NULL;否则返回arg1
(7)格式化函数
DATE_FORMAT(date,fmt) 依照字符串fmt格式化日期date值
FORMAT(x,y) 把x格式化为以逗号隔开的数字序列,y是结果的小数位数
INET_ATON(ip) 返回IP地址的数字表示
INET_NTOA(num) 返回数字所代表的IP地址
TIME_FORMAT(time,fmt) 依照字符串fmt格式时间time值
(8)类型转化函数
(9)系统信息函数
Mysql完全手册(笔记一,底层与内置函数)的更多相关文章
- Mysql触发器、模糊查找、存储过程、内置函数
原本觉得Mysql的一些知识还是差不多了,但是在实际上在项目上用的时候,发现什么都忘记了.现在重新回顾一下,顺便做个笔记. 触发器 ...
- [Python笔记]第四篇:内置函数
本篇主要内容:内置函数 函数 参考:https://docs.python.org/3.5/library/functions.html 内置函数列表 一.数学运算类 abs(x)求绝对值 >& ...
- 学习Python函数笔记之二(内置函数)
---恢复内容开始--- 1.内置函数:取绝对值函数abs() 2.内置函数:取最大值max(),取最小值min() 3.内置函数:len()是获取序列的长度 4.内置函数:divmod(x,y),返 ...
- python学习笔记(五)— 内置函数
我们常用的‘’int,str,dict,input,print,type,len‘’都属于内置函数 print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any( ...
- python学习笔记(四):生成器、内置函数、json
一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了 ...
- Python笔记(二十一)_内置函数、内置方法
内置函数 issubclass(class1,class2) 判断class1类是否为class2类的子类,返回True和False 注意1:类会被认为是自身的子类 >>>issub ...
- python学习笔记(七)——内置函数
builtins.py模块,是python的内建模块,在运行时会自动导入该模块.在该模块中定义了很多我们常用的内置函数,比如print,input 等. 在 builtins.py 模块中给出如下注释 ...
- python学习笔记(九)内置函数
print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 True print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真 True print( ...
- 绑定与非绑定方法及反射,isinstance和issubclass内置函数
目录 绑定方法与非绑定方法 1.绑定方法 2.非绑定方法(staticmethod) isinstance和issubclass 内置函数 1.isinstance 2.issubclass 反射(面 ...
随机推荐
- 如何在一个MyEclipse2014GA配置多个Tomcat8.X系列的应用服务器,同时运行
1.我下载了两个版本的Tomcat8.X的,一个Tomcat8.0.17和Tomcat8.0.20. 2.分别更改对应目录下的server.xml. 第一处要改的地方: <Server port ...
- 【开发软件】推荐一款MAC OS X 下php集成开发环境mamp
这里给大家推荐一款在mac上搭建WEB服务器环境的集成环境安装软件,非常的好用,需要的朋友可以拿去,不用谢 ^_^ 之前苦于mac上搭建本地服务器之艰辛,找寻好久都没找到一款类似windows ...
- 前端工程师如何快速的开发一个微信JSSDK应用
亲们,订阅号出来已经很久了,作为一个前端工程师或者全栈工程师,你是不是错过了什么?大概许多攻城狮同砚还没有反应过来订阅号怎么回事,就马上要被微信的应用号秀一脸了.在应用号还没有正式出来之前,我们赶紧一 ...
- xml与datatable类型互换
//已测 private DataTable ConvertXMLToDataSet(string xmlData) { StringReader stream = null; XmlTextRead ...
- Web系统开发构架再思考-前后端的完全分离
前言 前后端完全分离其实一直是Web开发人员的梦想,也一直是我的梦想,遥想当年,无论是直接在代码里面输出HTML,还是在HTML里面嵌入各种代码,都不能让人感到满意.期间的痛苦和纠结,我想所有Web开 ...
- DevExpress使用的过期版本解决方法
Windows控件确实有点丑,一般刚学习VS编程或者临时创建测试程序时才会使用:第三方控件,增强了一些功能,美化了控件,现在比较流行:再高级一点,就是使用WPF,看效果还不错,估计以后会成为C/S的主 ...
- centos虚拟机复制移动后网络配置无效
移植Centos虚拟机后无法联网解决1.迁移以后,会存在其中一个网卡无法启动(eth0 or eth1) [root@ ~]# ifup eth0 WARNING: Deprecated config ...
- JavaScript - 基于CSS3动画的实现
在痛苦的IE8时代,所有的动画都只能基于自己计算相关动画属性,开定时器setTimeout/setInterval轮询动画任务. 而肩负重任的HTML5,早已注意到了日益增强的动画,随着HTML5的降 ...
- CSS3-05 样式 4
前言 关于 CSS 的介绍,基本上告一段落了.在该博客中将介绍如何通过 CSS 去设置一个 HTML 元素,显示在 Web 页面的位置. 定位 概述 定义元素位置的基准,即:该元素与 HTML 文档流 ...
- 敏捷开发与jira
项目背景 项目是基于一套公司自主研发的平台做企业信息化的项目管理业务,经过两个里程碑的交付,已经在客户现场使用,每次版本都能按期交付,延迟较少,客户满意度也高. 项目开发过程采用的敏捷的方法,用类Sc ...