MySql基础,MySql的函数&运算符


MySQL 提供了很多功能强大、使用方便的运算符和函数。通过使用这些运算符完成各种各样的运算操作。函数可以帮助开发人员简单、快速的编写 SQL 语句。

MySQL函数简介

MySQL 函数是 MySQL 数据库提供的内部函数,这些内部函数可以帮助用户更加方便地处理表中的数据。函数就像预定的公式一样存放在数据库里,每个用户都可以调用已经存在的函数来完成某些功能。

提示:函数就是输入值然后得到相应的输出结果,输入值称为参数(parameter),输出值称为返回值。

函数可以很方便的地实现业务逻辑的重用,并且 MySQL 数据库允许用户自己创建函数,以适应实际的业务操作。正确使用函数会让读者在编写 SQL 语句时起到事半功倍的效果。

MySQL 函数用来对数据表中的数据进行相应的处理,以便得到用户希望得到的数据,使 MySQL 数据库的功能更加强大。

MySQL 函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等。这些函数不仅能帮助用户做很多事情,比如字符串的处理、数值的运算、日期的运算等,还可以帮助开发人员编写出简单快捷的 SQL 语句。

SELECT、INSERT、UPDATE 和 DELETE 语句及其子句(例如 WHERE、ORDER BY、HAVING 等)中都可以使用 MySQL 函数。例如,数据表中的某个数据是负数,现在需要将这个数据显示为整数,这时就可以在 SELECT 语句中使用绝对值函数。

下面介绍这几类函数的使用范围。

  • 数学函数主要用于处理数字。这类函数包括绝对值函数、正弦函数、余弦函数和获得随机数的函数等。
  • 字符串函数主要用于处理字符串。其中包括字符串连接函数、字符串比较函数、将字符串的字母都变成小写或大写字母的函数和获取子串的函数等。
  • 日期和时间函数主要用于处理日期和时间。其中包括获取当前时间的函数、获取当前日期的函数、返回年份的函数和返回日期的函数等。
  • 条件判断函数主要用于在 SQL 语句中控制条件选择。其中包括 IF 语句、CASE 语句和 WHERE 语句等。
  • 系统信息函数主要用于获取 MySQL 数据库的系统信息。其中包括获取数据库名的函数、获取当前用户的函数和获取数据库版本的函数等。
  • **加密函数主要用于对字符串进行加密解密。**其中包括字符串加密函数和字符串解密函数等。
  • 其他函数主要包括格式化函数和锁函数等。

以上这些都是 MySQL 数据库中具有代表性的函数,大家并不需要一次全部记住,只需要知道有这样的函数就可以了,实际应用时可以查阅:

MySQL常用运算符概述

在 MySQL 中,可以通过运算符来获取表结构以外的另一种数据。

  • 例如,学生表中存在一个 birth 字段,这个字段表示学生的出生年份。如果想得到这个学生的实际年龄,可以使用 MySQL 中的算术运算符用当前的年份减学生出生的年份,求出的结果就是这个学生的实际年龄了。

MySQL 所提供的运算符可以直接对表中数据或字段进行运算,进而实现用户的新需求,增强了 MySQL 的功能。

每种数据库都支持 SQL 语句,但是它们也都有各自支持的运算符。我们除了需要学会使用 SQL 语句外,还需要掌握各种运算符。

MySQL 支持 4 种运算符,分别是:

算术运算符

算术运算符是 SQL 中最基本的运算符,MySQL 支持的运算符包括加、减、乘、除和取余运算,它们是最常用、最简单的一类运算符。

下表列出了这些运算符的作用和使用方法。

运算符 作用 使用方法
+ 加法运算 用于获得一个或多个值的和
- 减法运算 用于从一个值中减去另一个值
* 乘法运算 使数字相乘,得到两个或多个值的乘积
/ 除法运算,返回商 用一个值除以另一个值得到商
%,MOD 求余运算,返回余数 用一个值除以另一个值得到余数

比较运算符

当使用 SELECT 语句进行查询时,MYSQL 允许用户对表达式的左边操作数和右边操作数进行比较,比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。MySQL 支持的比较运算符如下表所示。

运算符 作用
= 等于
<=> 安全的等于
<> 或者 != 不等于
<= 小于等于
>= 大于等于
> 大于
IS NULL 或者 ISNULL 判断一个值是否为空
IS NOT NULL 判断一个值是否不为空
BETWEEN AND 判断一个值是否落在两个值之间

比较运算符可以用于比较数字、字符串和表达式的值。注意,字符串的比较是不区分大小写的。

等于运算(=)

= 运算符用来比较两边的操作数是否相等,相等的话返回 1,不相等的话返回 0。具体的语法规则如下:

  • 若有一个或两个操作数为 NULL,则比较运算的结果为 NULL。
  • 若两个操作数都是字符串,则按照字符串进行比较。
  • 若两个操作数均为整数,则按照整数进行比较。
  • 若一个操作数为字符串,另一个操作数为数字,则 MySQL 可以自动将字符串转换为数字。

注意:NULL 不能用于 = 比较。

安全等于运算符(<=>)

<=> 操作符和 = 操作符类似,不过 <=> 可以用来判断 NULL 值,具体语法规则为:

  • 当两个操作数均为 NULL 时,其返回值为 1 而不为 NULL;
  • 而当一个操作数为 NULL 时,其返回值为 0 而不为 NULL。

不等于运算符(<> 或者 !=)

与 = 的作用相反,<> 和 != 用于判断数字、字符串、表达式是否不相等。对于 <> 和 !=,如果两侧操作数不相等,返回值为 1,否则返回值为 0;如果两侧操作数有一个是 NULL,那么返回值也是 NULL。

两个不等于运算符作用相同,都可以进行数字、字符串、表达式的比较判断。

小于等于运算符(<=)

<= 是小于等于运算符,用来判断左边的操作数是否小于或者等于右边的操作数;如果小于或者等于,返回值为 1,否则返回值为 0;如果两侧操作数有一个是 NULL,那么返回值也是 NULL。

  • 左边操作数小于或者等于右边时,返回值为 1,例如 4<=4;
  • 当左边操作数大于右边时,返回值为 0,例如“good”第 3 个位置的“o”字符在字母表中的顺序大于“god”中的第 3 个位置的“d”字符,因此返回值为0;
  • 同样,比较 NULL 值时返回 NULL。

小于运算符(<)

< 是小于运算符,用来判断左边的操作数是否小于右边的操作数;如果小于,返回值为 1,否则返回值为 0;如果两侧操作数有一个是 NULL,那么返回值也是 NULL。

  • 当左边操作数小于右边时,返回值为 1,例如 1<2;
  • 当左边操作数大于右边时,返回值为 0,例如“good”第 3 个位置的“o”字符在字母表中的顺序大于“god”中的第 3 个位置的“d”字符,因此返回值为 0;
  • 同样,比较 NULL 值时返回 NULL。

大于等于运算符(>=)

>= 是大于等于运算符,用来判断左边的操作数是否大于或者等于右边的操作数;如果大于或者等于,返回值为 1,否则返回值为 0;如果两侧操作数有一个是 NULL,那么返回值也是 NULL。

  • 左边操作数大于或者等于右边时,返回值为 1,例如 4>=4;
  • 当左边操作数小于右边时,返回值为 0,例如 1>=2;
  • 同样,比较 NULL 值时返回 NULL。

大于运算符(>)

> 是大于运算符,用来判断左边的操作数是否大于右边的操作数;如果大于,返回值为 1,否则返回值为 0;如果两侧操作数有一个是 NULL,那么返回值也是 NULL。

由结果可以看到:

  • 左边操作数大于右边时,返回值为 1,例如 5.5>5;
  • 当左边操作数小于右边时,返回 0,例如 1>2;
  • 同样,比较 NULL 值时返回 NULL。

IS NULL(ISNULL) 和 IS NOT NULL 运算符

IS NULL 或 ISNULL 运算符用来检测一个值是否为 NULL,如果为 NULL,返回值为 1,否则返回值为 0。ISNULL 可以认为是 IS NULL 的简写,去掉了一个空格而已,两者的作用和用法都是完全相同的。

IS NOT NULL 运算符用来检测一个值是否为非 NULL,如果是非 NULL,返回值为 1,否则返回值为 0。

IS NULL 和 ISNULL 的作用相同,只是写法略有不同。ISNULL 和 IS NOT NULL 的返回值正好相反。

BETWEEN AND 运算符

BETWEEN AND 运算符用来判断表达式的值是否位于两个数之间,或者说是否位于某个范围内,它的语法格式如下:

expr BETWEEN min AND max

expr 表示要判断的表达式,min 表示最小值,max 表示最大值。如果 expr 大于等于 min 并且小于等于 max,那么返回值为 1,否则返回值为 0。

总结

使用比较运算符时需要注意空值 NULL,大部分比较运算符遇到

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值