MySQL高阶SQL语句(二)

一、正则表达式
MySQL,正则表达式通常是在检索数据库记录的时候,根据指定的匹配模式匹配记录中符合要求的特殊字符串。MySQL的正则表达式使用 REGEXP这个关键字来指定正则表达式的匹配模式,REGEXP(打印)操作符所支持的匹配模式如表所示。

匹配            描述
^               匹配文本的开始字符
$               匹配文本的结束字符
·               匹配任何单个字符
*               匹配零个或多个在它前面的字符
+              匹配前面的字符1 次或多次
字符串     匹配包含指定的字符串
p1|p2        匹配 p1 或p2
[...]            匹配字符集合中的任意一个字符
[^...]          匹配不在括号中的任何字符
{n }           匹配前面的字符串n 次
{ n , rm }     匹配前面的字符串至少n次,至多m 次

查询以li开头的信息

mysql> select id,name from info where name regexp '^li';

在这里插入图片描述
查询以i为结尾的信息

mysql> select id,name from info where name regexp 'i$';

在这里插入图片描述
查询名字中包含an的信息

mysql> select id,name  from info where name regexp 'an';

在这里插入图片描述
二、运算符
MySQL.的运算符用于对记录中的字段值进行运算。MySQL的运算符共有四种,分别是:算术运算符、比较运算竹、逻辑运算符和位运算符
1、算数运算符
以 select 命令来实现最基础的加减乘除运算,MySQL支持使用 的算数运算符,如表所示:

运算符      描述
+              加法
-               减法
*               乘法
/               除法
%             取余

在除法运算和求余数运算中,除数不能为0,若除数是0,返回的结果则为 NUJT…。需
要注意的是,如果有多个运算符,按照先乘除后加减的优先级进行运算,相同优先级的运算符没有先后顺序。

示例:

mysql> select 1+2,2-1,3*4,4/2,5%2;

在这里插入图片描述
2、比较运算符
比较运算符是查询数据记录时经常使用的一类运算符。通过使用比较运算符可以判断出表中有哪些记录是符合条件的,如果比较的结果为真则返回1,如果为假则返回0,比较的结果如果不确定则返回
NULL。其中字符串在进行比较的时候默认是不区分大小写的,如果要区分大小写可以通过binary关键字来实现

 运算符               描述
 =                         等于
 >                        大于
<                         小于
>=                       大于等于
<=                       小于等于
!=或<>                不等于
is null                  判断一个值是否为NULL
Is NOT NULL      判断一个值是否不为NULL
BETWFEN AND  两者之间
IN                        在集合中
LIKE                    通配符匹配
GREATEST         两个或多个参数时返回最大值
LEAST                 两个或多个参数时返回最小值
REGEXP              正则表达式

#等号(-)是用来判断数字、字符串和表达式是否相等的,如果相等则返回1,如果不相等则返回0。如果比较的两者有一个值是NOLL,则比较的结果就是NULL。其中字符的比较是根据 ASCII码来判断的,如果AsCII
码相等,则表示两个字符相同;如果AsCTT码不相等,则表示两个字符不相同例如字符串(字母)比较:( ‘a’>‘b’)其实比较的就是底层的AsCLl码
需要关注的是ascii码有:a、A、o ( 97、65、48)
那么:
如果比较的是多字符串,如: ‘abc’=‘acb’,如何比较(字符个数、字符顺序)如果比较的是多字符,如:‘abc’ <'baa’如何比较
与linux返回值表达相反,linux中运行正常返回值是0,运行异常返回值是非0

示例:

mysql> select 2=4,2=2,2='2','e'='e','r'=null;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值