运算符的使用
运算符: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子句中如果没有%和_,就相当于运算符=的效果
例子
- 输入密码连接数据库并进入student数据库(需提前创建好)(不知道怎么创建数据库的请查看博主的其他博客)
SHOW DATABASES;
USE student;
SHOW TABLES;
效果图:
- 查询employee数据表的所有记录
SELECT * FROM employee;
效果图:
- 查询指定多条id的记录(繁琐方法)
SELECT * FROM employee WHERE id=1 OR id=2 OR id=3;
效果图:
- 查询指定多条id的记录(简便方法)
SELECT * FROM employee WHERE id IN(1, 2, 3);
效果图:
由此可见,步骤3与步骤4实现的效果一样,但是步骤4的代码更为简便。
- 查询名字中“李”开头的记录
SELECT * FROM employee WHERE name LIKE '李%';
效果图:
- 查询名字中“李”开头且名字长度为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 字段名 WHEN 值1 THEN 结果1 ... ELSE 默认值 END;//语法1
CASE WHEN 条件 THEN 结果1 ... ELSE 默认值 END;//语法2
上述两种语法END结束后推荐加上AS 字段别名 FROM 表名;
例子
- 输入密码连接数据库并使用student数据库
USE student;
SHOW TABLES;
效果图:
- 查询employee数据表的所有记录
SELECT * FROM employee;
效果图:
- 练习使用一些常用函数
SELECT ABS(-10);//求绝对值
SELECT LENGTH("BigG");//统计字符串长度
SELECT NOW();//当前时间
效果图:
- 统计employee数据表所有记录和男、女员工的数量
SELECT COUNT(*) FROM employee;
SELECT COUNT(*) FROM employee WHERE sex='男';
SELECT COUNT(*) FROM employee WHERE sex='女';
效果图:
- 统计员工的薪资总和、平均薪资、最高薪资和最低薪资
SELECT SUM(salary) FROM employee;
SELECT AVG(salary) FROM employee;
SELECT MAX(salary) FROM employee;
SELECT MIN(salary) FROM employee;
效果图:
- 练习使用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学习有一定的兴趣和理解,欢迎随时找博主交流~