MySQL-快速入门(4)MySQL函数
1、函数包括:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数。
2、数学函数:绝对值函数、三角函数(正弦函数、余弦函数、正切函数、余切函数等)、对数函数、随机数函数。
1》abs(X):绝对值函数。
2》pi():圆周率函数,返回小数点后6位,即3.141593。
3》sqrt(X):非负数的开平方。
4》mod(X,Y):求余函数。即X%Y取余数。
5》获取整数的函数:
ceil(X):返回不小于X的最小整数,返回值转换为bigint。
ceiling(X):返回不小于X的最小整数,返回值转换为bigint。
floor(X):返回最大整数。
6》获取随机数的函数
rand():
rand(X):相同X种子,返回的随机数是一样的。
7》四舍五入:round(X)、round(x,y)、truncate(x,y)
8》符号函数sign(X):
9》幂运算pow(X,Y)、power(X,Y)、EXP(X)
10》对数log(X)、log10(X)
11》角度函数radians(X)、弧度函数degrees(X)
12》正弦函数sin(X)、反正弦函数asin(X)
13》余弦函数cos(X)、反余弦函数acos(X)
14》正切函数tan(X)、反正切函数atan(X)、余切函数cot(X)
3、字符串函数
1》char_length(str):计算字符数。
2》length(str):计算字符串长度。
3》concat(s1,s2,...)、concat_ws(x,s1,s2,...):合并字符串函数。第二个以指定的分隔符连接,同时忽略null。
4》insert(s1,x,len,s2):字符串替换操作。
5》lower(str)、lcase(str):全部转换成小写字符。
6》upper(str)、ucase(str):全部转换成大写。
7》left(s,n)、right(s,n):返回s开始到最左/最右n个字符。
8》lpad(s1,len,s2)、rpad(s1,len,s2):len指定往字符串中s1的左/右填充的字符s2,如果len小于s1则s1被压缩返回。
9》ltrim(s)、rtrim(s)、trim(s):删除空格函数。分别是删除左侧、右侧、两侧的空格。
10》trim(s1 from s):删除指定字符串。删除字符串s中两端所有的子字符串s1。s1为可选项,在未指定情况下,删除空格。
11》repeat(s,n):重复生成字符串。
12》space(n)、replace(s,s1,s2):空格函数、替换函数。
13》strcmp(s1,s2):比较字符串大小的函数。
14》substring(s,n,len)、mid(s,n,len):获取子串。
15》locate(str1,str)、position(str1 in str)、instr(str,str1):返回子字符串str1在str中的开始位置。
16》reverse(s):字符串逆序函数。
17》elt(N,字符串1,字符串2,...,字符串N):返回指定位置的字符串。类似于oracle的decode()。
18》field(s,s1,s2,...):返回字符串s在s1,s2,...中第一次出现的位置(完全匹配),在找不到s的情况下,返回值为0。
19》find_in_set(s1,s2):返回子串位置的函数(全匹配)。s2是一个以“,”分隔的字符串列表。
20》make_set(x,s1,s2,...):选取字符串的函数。
4、日期和时间函数
1》获取当前日期的函数、获取当前时间的函数:curdate()、current_date()、curtime()、current_time()
2》获取当前日期和时间的函数:current_timestamp()、localtime()、now()、sysdate()。
3》unix时间戳函数:unix_timestamp(date)。date可以是一个date类型字符串、datetime类型字符串、timestamp类型字符串或者一个当地时间的YYMMDD或YYYYMMDD格式的数字。from_unixtime(date)是它的互为反函数。
4》返回UTC日期和返回UTC时间的函数
5》获取月份的函数month(date)和monthname(date):前者返回对应的月份数字、后者返回对应的英文月份单词。
6》获取星期的函数dayname(d)、dayofweek(d)、weekday(d):
7》获取星期数的函数week(d)、weekofyear(d):
8》获取天数的函数dayofyear(d)、dayofmonth(d):
9》获取年份、季度、小时、分钟、秒钟的函数:
10》获取日期的指定值的函数extract(type from date):
11》时间和秒钟转换的函数:time_to_sec(time):
12》时间和秒钟转换的函数:time_to_sec(time)。
13》计算日期和时间的函数:date_add()、adddate()、date_sub()、subdate()、addtime()、subtime()、date_diff()。
14》将日期和时间格式化的函数
1>date_format(date,format):
2>time_format(time,format):
3>get_format(val_type,format_type):
5、条件判断函数:if、ifnull、case
1》if(expr,v1,v2):
2》ifnull(v1,v2):
3》case expr when v1 then r1 [when v2 then r2] [else rN] end
6、系统信息函数
MySQL系统信息有数据库的版本号、当前用户名和连接数、系统字符集、最后一个自动生成的id值等。
1》version():返回MySQL服务器的版本字符串。
2》connection_id():返回MySQL服务器当前连接的次数。
3》show processlist或者show full processlist:显示有哪些线程在运行,不仅可以查看当前的所有连接数,还可以查看当前的连接状态,帮助识别出有问题的查询语句等。
4》获取用户名的函数:user()、current_user / current_user()、system_user()、session_user()
5》获取字符串的字符集和排序方式的函数:charset(str)
6》获取最后一个自动生成的ID的值:last_insert_id(),自动返回最后一个insert、update为auto_increment列设置的第一个发生的值(比如逐条插入,当然这个函数得到的是最后一个id,但一条insert语句同时插入多条记录的时候,该函数返回的是第一条记录插入时的id)。
7、加密解密函数
1》password(str):从明文str计算并返回加密后的密码字符串,当参数为null时,返回null。不可逆,不推荐用到个人应用程序中,因为MySQL服务器鉴定系统中使用了这种加密方式。
2》md5(str):为字符串算出一个md5 128比特校验和。该值以32位十六进制数字的二进制字符串形式返回,若参数为null,则返回null。
3》encode(str,pswd_str):使用pswd_str作为密码,加密str。使用decode()解密结果,是一个和str长度相同的二进制字符串。
4》decode(crypt_str,pswd_str):使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str是由encode()返回的字符串。
8、其他函数
1》格式化函数format(x,n):将数字x格式化。
2》不同进制的数字进行转换的函数:
1>conv(N,from_base,to_base):返回值为数值N的字符串表示,由from_base进制转换为to_base进制。
3》IP地址与数字相互转换的函数:inet_aton(expr)。inet_ntoa(expr)互为反函数。
4》加锁函数和解锁函数:
1>get_lock(str,timeout)。
2>解锁执行release_lock()或者链接断开(正常或非正常)。
3>is_free_lock(str)检查名为str的锁是否可以使用(即没有被加锁)。
4>is_used_lock(str):检查名为str的锁是否正在被使用(既没有被加锁)。
5》重复执行指定操作的函数
benchmark(count,expr):重复执行count次表达式expr。
6》改变字符集的函数
convert(...using...),带有using的convert()函数被用来在不同的字符集之间转换数据。
7》改变数据类型的函数
cast(x,AS type)、convert(x,type):将一个类型的值转换为另一个类型的值。可转换的type有:binary、char(n)、date、time、datetime、decimal、signed、unsigned。
MySQL-快速入门(4)MySQL函数的更多相关文章
- MySql基础笔记(一)Mysql快速入门
Mysql快速入门 一)基本概念 1)表 行被称为记录,是组织数据的单位.列被称为字段,每一列表示记录的一个属性. 2)主键 主键用于唯一的标识表中的每一条记录.可以定义表中的一列或者多列为主键, 但 ...
- MySQL 快速入门教程
转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...
- MySQL快速入门(二)
目录 MySQL快速入门(二) 约束条件 自增 自增的特性 主键 外键 级联更新/删除 表与表之间的关系 外键约束 操作表方法 查询关键字 练习数据 select··from where 筛选 gro ...
- MySQL 快速入门(一)
目录 MySQL快速入门 简介 存储数据的演变过程 数据库分类 概念介绍 MySQL安装 MySQL命令初始 环境变量配置 MySQL环境变量配置 修改配置文件 设置新密码 忘记密码的情况 基本sql ...
- Mysql快速入门(看完这篇能够满足80%的日常开发)
这是一篇mysql的学习笔记,整理结合了网上搜索的教程以及自己看的视频教程,看完这篇能够满足80%的日常开发了. 菜鸟教程:https://www.runoob.com/mysql/mysql-tut ...
- 快速入门系列--MySQL
一直说要好好复习一下Mysql都木有时间,终于赶上最近新购买了阿里云,决定使用CentOS去试试.NET Core等相关的开发,于是决定好好的回顾下这部分知识,由于Mysql的数据库引擎是插件式的,对 ...
- MySQL 快速入门
MySQL的相关概念介绍 MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格 ...
- MySQL快速入门及常用命令
数据库 笔记内容 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,F ...
- Mysql快速入门(三)
MySQL性能优化之查看执行计划explain 介绍: (1).MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发 ...
- SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )
SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需.SQL数据库有很多,MySQL是一种,本文基本都是SQ ...
随机推荐
- Gitlab+Jenkins+Docker实现net core持续集成
前言 在项目中使用这一套自动集成的体系之后,一直想找个时间总结出来,用于自己记录也打算将自己的所得分享给园友们,不经常写文章,可能会有错误的地方,希望各位不吝指正,我会及时的改正并表示感谢,希望大家能 ...
- 【shell】sed处理多行合并
有这么一个题 文件格式 table=t1 name owner address table=t2 id text col1 comment col5 table=t3 prod_name price ...
- 微信小程序登录 code 40029 天坑
微信登录时 code 大坑(服务端返回如下代码) {"errcode":40029,"errmsg":"invalid code, hints: [ ...
- JMS学习八(ActiveMQ消息持久化)
ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,还有一种内存存储的方式,由于内存不属于持久化范畴,而且如果使用内存队列,可以考虑使用更合适的产品,如ZeroMQ.所以 ...
- Comparable接口与Comparator接口的比较————总结
之前的两篇文章主要学习了Comparable接口和Comparator接口的学习.既然已经学习完了,现在就趁热打铁,进行总结吧! Comparable接口和Comparator接口的共同点: 1. 都 ...
- 阿里云OSS文件上传封装
1.先用composer安装阿里云OSS的PHPSDK 2.配置文件里定义阿里云OSS的秘钥 3.在index控制器里的代码封装 <?php namespace app\index\contro ...
- mysql workbench中PK,NN,UQ,BIN,UN,ZF,AI字段类型标识说明
PK:primary key 主键 NN:not null 非空 UQ:unique 唯一索引 BIN:binary 二进制数据(比text更大) UN:unsigned 无符号(非负数) ZF:ze ...
- angular 的配置文件的应用
为什么要使用 angular 的配置文件: 好处:我们可以在一个页面上,实现多个页面的跳转的感觉,但只是在一个页面上进行的操作: 我们的准备工作:下载 angular-route.js 插件 在依赖模 ...
- c/c++二级指针动态开辟内存
c版: #include <stdio.h> #include <stdlib.h> #define row 4 #define col 8 int main() { int ...
- RAC_单实例_DG 关于两端创建表空间数据文件路径不一致的问题注意点
RAC_单实例_DG 关于两端创建表空间数据文件路径不一致的问题注意点 主库SYS@orcl1>show parameter db_file_name_convert NAME TYPE VAL ...