互助县公司网站建设,茂名营销型网站建设,企业官网招聘信息,中文域名注册报价表MySQL 数据库中的表结构确立后#xff0c;表中的数据代表的意义就已经确定。而通过 MySQL 运算符进行运算#xff0c;就可以获取到表结构以外的另一种数据。
例如#xff0c;学生表中存在一个 birth 字段#xff0c;这个字段表示学生的出生年份。而运用 MySQL 的算术运算符…MySQL 数据库中的表结构确立后表中的数据代表的意义就已经确定。而通过 MySQL 运算符进行运算就可以获取到表结构以外的另一种数据。
例如学生表中存在一个 birth 字段这个字段表示学生的出生年份。而运用 MySQL 的算术运算符用当前的年份减学生出生的年份那么得到的就是这个学生的实际年龄数据。
MySQL 支持 4 种运算符分别是
1 算术运算符 执行算术运算例如加、减、乘、除等。
2 比较运算符 包括大于、小于、等于或者不等于等等。主要用于数值的比较、字符串的匹配等方面。例如LIKE、IN、BETWEEN AND 和 IS NULL 等都是比较运算符还包括正则表达式的 REGEXP 也是比较运算符。
3 逻辑运算符 包括与、或、非和异或等逻辑运算符。其返回值为布尔型真值1 或 true和假值0 或 false。
4 位运算符 包括按位与、按位或、按位取反、按位异或、按位左移和按位右移等位运算符。位运算必须先将数据转换为二进制然后在二进制格式下进行操作,运算完成后将二进制的值转换为原来的类型返回给用户。
算术运算符
算术运算符是 SQL 中最基本的运算符MySQL 中的算术运算符如下表所示。
算术运算符说明加法运算-减法运算*乘法运算/除法运算返回商%求余运算返回余数
比较运算符
比较运算符的语法格式为
表达式1 { | | | | | | | !} 表达式2MySQL 支持的比较运算符如下表所示。
比较运算符说明等于小于小于等于大于大于等于安全的等于不会返回 UNKNOWN 或!不等于IS NULL 或 ISNULL判断一个值是否为 NULLIS NOT NULL判断一个值是否不为 NULLLEAST当有两个或多个参数时返回最小值GREATEST当有两个或多个参数时返回最大值BETWEEN AND判断一个值是否落在两个值之间IN判断一个值是IN列表中的任意一个值NOT IN判断一个值不是IN列表中的任意一个值LIKE通配符匹配REGEXP正则表达式匹配
下面分别介绍不同的比较运算符的使用方法。
1 等于运算符“” 等号“”用来判断数字、字符串和表达式是否相等。如果相等返回值为 1否则返回值为 0。
数据进行比较时有如下规则 若有一个或两个参数为 NULL则比较运算的结果为 NULL。若同一个比较运算中的两个参数都是字符串则按照字符串进行比较。若两个参数均为正数则按照整数进行比较。若一个字符串和数字进行相等判断则 MySQL 可以自动将字符串转换成数字。2 安全等于运算符“” 用于比较两个表达式的值。当两个表达式的值中有一个为空值或者都为空值时将返回 UNKNOWN。
对于运算符“”当两个表达式彼此相等或都等于空值时比较结果为 TRUE若其中一个是空值或者都是非空值但不相等时则为 FALSE不会出现 UNKNOWN 的情况。
3 不等于运算符“”或者“!” “”或者“!”用于数字、字符串、表达式不相等的判断。如果不相等返回值为 1否则返回值为 0。这两个运算符不能用于判断空值NULL。
4 小于或等于运算符“” “”用来判断左边的操作数是否小于或等于右边的操作数。如果小于或等于返回值为 1否则返回值为 0。“”不能用于判断空值。
5 小于运算符“” “”用来判断左边的操作数是否小于右边的操作数。如果小于返回值为 1否则返回值为 0。“”不能用于判断空值。
6 大于或等于运算符“” “”用来判断左边的操作数是否大于或等于右边的操作数。如果大于或等于返回值为 1否则返回值为 0。“”不能用于判断空值。
7 大于运算符“” “”用来判断左边的操作数是否大于右边的操作数。如果大于返回值为 1否则返回值为 0。“”不能用于判断空值。
8 IS NULL或者 ISNULL IS NULL 和 ISNULL 用于检验一个值是否为 NULL如果为 NULL返回值为 1否则返回值为 0。
9 IS NOT NULL IS NOT NULL 用于检验一个值是否为非 NULL如果为非 NULL返回值为 1否则返回值为 0。
10 BETWWEN AND 语法格式为
表达式 BETWEEN 最小值 AND 最大值若表达式大于或等于最小值且小于或等于最大值则 BETWEEN 的返回值为 1否则返回值为 0。
11 LEAST 语法格式为
LEAST(值1,值2,…,值n)其中值 n 表示参数列表中有 n 个值。存在两个或多个参数的情况下返回最小值。若任意一个自变量为 NULL则 LEAST() 的返回值为 NULL。
12 GREATEST 语法格式为
GREATEST (值1,值2,…,值n)其中值 n 表示参数列表中有 n 个值。存在两个或多个参数的情况下返回最大值。若任意一个自变量为 NULL则 GREATEST() 的返回值为 NULL。
13 IN IN 运算符用来判断操作数是否为 IN 列表中的一个值。如果是返回值为 1否则返回值为 0。
14 NOT IN NOT IN 运算符用来判断表达式是否为 IN 列表中的一个值。如果不是返回值为 1否则返回值为 0。
逻辑运算符
在 SQL 语言中所有逻辑运算符求值所得的结果均为 TRUE、FALSE 或 NULL。在 MySQL 中分别体现为 1TRUE、0FALSE和 NULL。
MySQL 中的逻辑运算符如下表所示。
逻辑运算符说明NOT 或者 !逻辑非AND 或者 逻辑与OR 或者XOR逻辑异或
下面分别介绍不同的逻辑运算符的使用方法。
1 NOT 或者 ! 逻辑非运算符 NOT 或者 !表示当操作数为 0 时返回值为 1当操作数为非零值时返回值为 0当操作数为 NULL 时返回值为 NULL。
2 AND 或者 逻辑与运算符 AND 或者 表示当所有操作数均为非零值并且不为 NULL 时返回值为 1当一个或多个操作数为 0 时返回值为 0其余情况返回值为 NULL。
3 OR 或者 || 逻辑或运算符 OR 或者 ||表示当两个操作数均为非 NULL 值且任意一个操作数为非零值时结果为 1否则结果为 0当有一个操作数为 NULL 且另一个操作数为非零值时结果为 1否则结果为 NULL当两个操作数均为 NULL 时所得结果为 NULL。
4 XOR 逻辑异或运算符 XOR。当任意一个操作数为 NULL 时返回值为 NULL对于非 NULL 的操作数若两个操作数都不是 0 或者都是 0 值则返回结果为 0若一个为 0另一个不为非 0则返回结果为 1。
位运算符
位运算符是用来对二进制字节中的位进行移位或者测试处理的。
MySQL 中提供的位运算符如下表所示。
位运算符说明单竖杠按位或按位与^按位异或按位左移按位右移~按位取反反转所有比特
下面分别介绍不同的位运算符的使用方法。
1 位或运算符“|” 位或运算的实质是将参与运算的两个数据按对应的二进制数逐位进行逻辑或运算。若对应的二进制位有一个或两个为 1则该位的运算结果为 1否则为 0。
2 位与运算符“” 位与运算的实质是将参与运算的两个数据按对应的二进制数逐位进行逻辑与运算。若对应的二进制位都为 1则该位的运算结果为 1否则为 0。
3 位异或运算符“^” 位异或运算的实质是将参与运算的两个数据按对应的二进制数逐位进行逻辑异或运算。对应的二进制位不同时对应位的结果才为 1。如果两个对应位都为 0 或者都为 1则对应位的结果为 0。
4 位左移运算符“” 位左移运算符“”使指定的二进制值的所有位都左移指定的位数。左移指定位数之后左边高位的数值将被移出并丢弃右边低位空出的位置用 0 补齐。
语法格式为表达式n这里 n 指定值要移位的位数。
5 位右移运算符“” 位右移运算符“”使指定的二进制值的所有位都右移指定的位数。右移指定位数之后右边高位的数值将被移出并丢弃左边低位空出的位置用 0 补齐。
语法格式为表达式n这里 n 指定值要移位的位数。
6 位取反运算符“~” 位取反运算符的实质是将参与运算的数据按对应的二进制数逐位反转即 1 取反后变 00 取反后变为 1。
运算符的优先级决定了不同的运算符在表达式中计算的先后顺序下表列出了 MySQL 中的各类运算符及其优先级。
优先级由低到高排列运算符1(赋值运算、:2II、OR3XOR4、AND5NOT6BETWEEN、CASE、WHEN、THEN、ELSE7(比较运算、、、、、、、!、 IS、LIKE、REGEXP、IN8单竖杠910、11-(减号、12*、/、%13^14-(负号、〜位反转15!
可以看出不同运算符的优先级是不同的。一般情况下级别高的运算符优先进行计算如果级别相同MySQL 按表达式的顺序从左到右依次计算。
另外在无法确定优先级的情况下可以使用圆括号“()”来改变优先级并且这样会使计算过程更加清晰。