MySQL高阶语句--中部!!

一、正则表达式

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

在这里插入图片描述

1、查看以…开头的信息
在这里插入图片描述
2、查看以 … 结尾的信息
在这里插入图片描述
3、查看包含 … 的信息
在这里插入图片描述
4、查询以ha开头,中间包含e,后面有三个字符的记录
在这里插入图片描述
5、查询包含 … 或 … 的信息
在这里插入图片描述
6、查询…出现一次或多次的记录
在这里插入图片描述
7、查询… 出现零次或多次的记录
在这里插入图片描述
8、查询以[ … ]开头的记录
在这里插入图片描述
9、查看不以[…]开头的记录
在这里插入图片描述

二、运算符

  • MySQL的运算符用于对记录中的字段值进行运算,
  • MySQL的运算符共有四种:算术运算符、比较运算符、逻辑运算符和位运算符

1、算术运算符

在这里插入图片描述
在这里插入图片描述

  • 在出发运算和求余数运算中,除数不能为0,若除数为0,返回的结果则为NULL。注意的是:如果有多个运算符,按照先乘除的优先级进行运算,相同优先级的运算符没有先后顺序
    在这里插入图片描述

  • 如果两者都是整数,则按照整数值进行比较

  • 如果两者都是字符串,则按照字符串进行比较

  • 如果一个整数一个字符串,则会自动将字符串转化为数字,在进行比较

  • 如果两者中至少有一个值是NULL,则比较的结果是NULL;

  • 与linux返回值表达相反,linux中运行正常返回值是0,运行异常返回值是非0

2、不等于(<>,!=)

  • 不等于号有两种写法,分别为<>或者!=,

  • 用于针对数字、字符串和表达式不相等的比较
    在这里插入图片描述
    3、BETWEEN AND

  • BETWEEN AND 比较运算通常用于判断一个值是否落在某两个值之间
    在这里插入图片描述
    4、LEAST 和 GREATEST

  • LEAST (取最小值):当两个或者多个参数时,返回其中的最小值,如果其中一个值为null,则返回结果为null

  • GREATEST(取最大值):当有两个或者多个参数时,返回其中的最大值,如果其中一个值为null,则返回结果为null
    在这里插入图片描述
    5、IN 和 NOT IN

  • IN:判断一个值是否在对应的列表中,如果在是返回1,否则返回0

  • NOT IN:判断一个值是否不在对应的列表中,如果不是返回1,否则返回0

在这里插入图片描述
6、LIKE 和 NOT LIKE

  • LIKE:用来匹配字符串,如果匹配成功则返回1,否则返回0
  • LIKE支持两种通配符:‘%’用于匹配任意数目的字符(*匹配的是前面一个字符),‘_'只能匹配一个字符
  • NOT LIKE:跟LIKE相反,如果匹配任意数目成功则返回1,否则返回0
    在这里插入图片描述

三、逻辑运算符

  • 逻辑运算符又被称为布尔运算符,通常用来判断表达式的真假,如果为真返回1,否则返回0,真和假也可以用TRUE和FALSE表示。MySQL中支持使用逻辑运算符四种
    在这里插入图片描述
    1、逻辑非
  • 逻辑运算符中最简单的运算符就是逻辑非,逻辑非使用 NOT 或!表示。逻辑非将跟在它后面的逻辑测试取反,把真变为假,把假变为真。如果 NOT 后面的操作数为 0 时,所得值为 1;如果操作数为非 0 时,所得值为 0;如果操作数为 NULL 时,所得值为 NULL
    在这里插入图片描述
    2、逻辑与
  • 当所有的操作数都为非0值且不为null时,返回值为1,否则为0
  • null and 0 返回值为0
  • 逻辑与使用AND 或者&&表示
    在这里插入图片描述
    3、逻辑或(or)
  • 逻辑或通常使用 OR
  • 逻辑或表示包含的操作数,任意一个非零值并且不是NULL值时,返回1,否则返回0
  • 当有一个操作数为NULL时,如果另一个操作数为非0值,则返回值为1,否则为NULL
  • 如两个操作数均为NULL,则返回值为NULL
    在这里插入图片描述
    4、逻辑异或(XOR)
  • 两个非NULL值为操作数,如果两者都是0 或者都是非0,则返回0
  • 如果一个为0,另一个为非0,则返回结果为1
  • 当任意一个值为NULL时,返回值为NULL
    在这里插入图片描述

四、位运算符

  • 位运算符实际上是对二进制数进行计算的运算符。MySQL 内位运算会先将操作数变成二进制格式(1010 1111),然后进行位运算,最后在将计算结果
  • 从二进制变回到十进制格式,方便用户查 看。MySQL 支持 6 种位运算符,具体如表所示
    在这里插入图片描述
    在这里插入图片描述
  • 以上不管哪种运算符,在使用过程中都有优先级问题。运算符的优先级决定了不同的运 算符在计算过程中的先后顺序。级别高的运算符会先进行计算,如果运算符的级别相同, MySQL 会按照顺序从左到右依次进行计算,
    在这里插入图片描述

五、连接查询

  • MySQL 的连接查询,通常都是将来自两个或多个表的记录行结合起来,基于这些表之间的 共同字段,进行数据的拼接。
  • 首先,要确定一个主表作为结果集,然后将其他表的行有选择 性的连接到选定的主表结果集上
  • 使用较多的连接查询包括:内连接、左连接和右连接

1、内连接
内连查询:通过inner join的方式将两张指定的相同字段的记录行输出
在这里插入图片描述
2、左连接

  • 左连接也可以被称为左外连接,在 FROM 子句中使用 LEFT JOIN 或者 LEFT OUTER JOIN 关键字来表示
  • 左连接以左侧表为基础表,接收左表的所有行,并用这些行与右侧参 考表中的记录进行匹配,也就是说匹配左表中的所有行以及右表中符合条件的行
  • 左连接中左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录,右表记录不足的地方均为 NULL
    在这里插入图片描述
    3、右连接
  • 右连接也被称为右外连接,在 FROM 子句中使用 RIGHT JOIN 或者 RIGHT OUTER JOIN 关键字来表示。
  • 右连接跟左连接正好相反,它是以右表为基础表,用于接收右表中的所有行,并用这些记录与左表中的行进行匹配
  • 在右连接的查询结果集中,除了符合匹配规则的行外,还包括右表中有但是左表中不匹 配的行,这些记录在左表中以 NULL 补足

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值