MySQL学习(5)︱IN、LIKE的使用和MySQL常用函数

运算符的使用

运算符:IN

运算符IN允许我们在WHERE子句中过滤某个字段的多个值。

  • WHERE子句使用IN语法:
SELECT 字段名FROM 表名WHERE 字段名 IN(1,2, ...);

运算符:LIKE

在WHERE子句中,有时候我们需要查询包含XXX字符串的所有记录,这时就需要用到运算符LIKE。

  • WHERE子句使用LIKE语法:
SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '%值%';
说明:
- LIKE子句中的%类似于正则表达式中的*,匹配0个或多个字符
- LIKE子句中的_匹配任意单个字符
- LIKE子句中如果没有%和_,就相当于运算符=的效果

例子

  1. 输入密码连接数据库并进入student数据库(需提前创建好)(不知道怎么创建数据库的请查看博主的其他博客)
SHOW DATABASES;
USE student;
SHOW TABLES;

效果图:
在这里插入图片描述

  1. 查询employee数据表的所有记录
SELECT * FROM employee;

效果图:
在这里插入图片描述

  1. 查询指定多条id的记录(繁琐方法)
SELECT * FROM employee WHERE id=1 OR id=2 OR id=3;

效果图:
在这里插入图片描述

  1. 查询指定多条id的记录(简便方法)
SELECT * FROM employee WHERE id IN(1, 2, 3);

效果图:
在这里插入图片描述
由此可见,步骤3与步骤4实现的效果一样,但是步骤4的代码更为简便

  1. 查询名字中“李”开头的记录
SELECT * FROM employee WHERE name LIKE '李%';

效果图:
在这里插入图片描述

  1. 查询名字中“李”开头且名字长度为2的记录
SELECT * FROM employee WHERE name LIKE '李_';

效果图:
在这里插入图片描述
注意:步骤5与步骤6的区别是 步骤5查询的是“李”开头的且名字其余部分长度任意的记录,步骤6查询的是“李”开头的且名字其余部分长度固定(长度为1)的记录。

MySQL常用函数

我们通常说的MySQL函数指的是MySQL数据库提供的内置函数,包括数学函数字符串函数日期和时间函数聚合函数条件判断函数等,这些内置函数可以帮助用户更方便地处理表中的数据,简化用户的操作。如下图所示。
在这里插入图片描述

函数NOW()

函数NOW()用于返回当前的日期和时间,例如INSERT INTO USER(id, name, create_time) VALUES(1, ''张三), NOW());

函数DATE_FORMAT()

函数DATE_FORMAT()用于以指定的格式显示日期/时间,例如SELECT name, DATE_FORMATE(birthday, '%Y/%m/%d') FROM uesr;

聚合函数

聚合函数是对一组值进行计算,并返回单个值,常用的聚合函数有5个,分别为count、sum、avg、min和max。如下图所示。
在这里插入图片描述

函数IFNULL()

函数IFNULL()用于处理NULL值。IFNULL(值1, 值2),如果值1的值不为NULL,则返回值1,否则返回值2.

CASE WHEN

CASE WHEN是流程控制语句,可以在SQL语句中使用CASE WHEN来获取更加准确和直接的结果。SQL中的CASE WHEN类似其他语言中的if else或者switch。

  • CASE WHEN的2种语法:
CASE 字段名 WHEN1 THEN 结果1 ... ELSE 默认值 END;//语法1
CASE WHEN 条件 THEN 结果1 ... ELSE 默认值 END;//语法2

上述两种语法END结束后推荐加上AS 字段别名 FROM 表名;

例子

  1. 输入密码连接数据库并使用student数据库
USE student;
SHOW TABLES;

效果图:
在这里插入图片描述

  1. 查询employee数据表的所有记录
SELECT * FROM employee;

效果图:
在这里插入图片描述

  1. 练习使用一些常用函数
SELECT ABS(-10);//求绝对值
SELECT LENGTH("BigG");//统计字符串长度
SELECT NOW();//当前时间

效果图:
在这里插入图片描述

  1. 统计employee数据表所有记录和男、女员工的数量
SELECT COUNT(*) FROM employee;
SELECT COUNT(*) FROM employee WHERE sex='男';
SELECT COUNT(*) FROM employee WHERE sex='女';

效果图:
在这里插入图片描述

  1. 统计员工的薪资总和、平均薪资、最高薪资和最低薪资
SELECT SUM(salary) FROM employee;
SELECT AVG(salary) FROM employee;
SELECT MAX(salary) FROM employee;
SELECT MIN(salary) FROM employee;

效果图:
在这里插入图片描述

  1. 练习使用CASE WHEN
SELECT * FROM employee;
SELECT id, name, CASE sex WHEN '男' THEN 'F' WHEN '女' THEN 'M' else '' END AS sex, salary FROM employee;//将原sex字段下的男、女显示为F、M并将显示后的字段命名为sex(代码里的AS sex)

参考图:
在这里插入图片描述
效果图:
在这里插入图片描述
注:本文是博主MySQL学习的总结,不支持任何商用,转载请注明出处!如果你也对MySQL学习有一定的兴趣和理解,欢迎随时找博主交流~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值