欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL学习笔记(2)

程序员文章站 2022-05-09 19:06:21
...
  • 条件查询
SELECT 字段 FROM 表名 WHERE 筛选条件

where相当于其他编程语言中的if条件语句
1.按照条件表达式进行筛选:

#条件运算符
>大于 <小于 =等于(注意一个等号) !=(不等于) 
<>(不等于推荐使用)
>=(大于等于)  <=(小于等于)

2.按照逻辑表达式进行筛选:

#逻辑运算符
&&||!and or not  推荐使用

案例:
MySQL学习笔记(2)
用条件查询上述表中年龄大于30岁的记录:

USE test;
SHOW TABLES;
SELECT
	*
FROM
	employee
WHERE
	age>30;

MySQL学习笔记(2)

  • 模糊查询
    1.关键字LIKE(意为“像”,并不是精确查询)
    例如查询字段employee_name中含有字符t的记录:
USE test;
SHOW TABLES;
SELECT
	*
FROM
	employee
WHERE
	employee_name LIKE "%t%";

MySQL学习笔记(2)
也可以查询employee_name中以字符t开头的记录:

SELECT
	*
FROM
	employee
WHERE
	employee_name LIKE "t%";

MySQL学习笔记(2)
其中%为通配符,可以匹配任意多个字符,包括0个字符。
也可以用_作为占位符,查询某个位置处的相应字符:
MySQL学习笔记(2)
比如对于上表我们要查询10月份出生的记录可以这样写:

USE test;
SHOW TABLES;
SELECT
	*
FROM
	employee
WHERE
	birth_date LIKE "_____10%";

MySQL学习笔记(2)
2.BETWEEN AND
查询字段值在某个区间的记录(可以代替大于等于小于等于)

USE test;
SHOW TABLES;
SELECT
	*
FROM
	employee
WHERE
	age
BETWEEN
	24
AND
	30;

MySQL学习笔记(2)
3.IN关键字

USE test;
SHOW TABLES;
SELECT 
		employee_id,employee_name
FROM
		employee
WHERE
		department IN ("R&D","Personnel");

MySQL学习笔记(2)
查询department为"R&D"和"Personnel"的employee_id和employee_name,比下面常规的逻辑运算符的写法简便。

USE test;
SHOW TABLES;
SELECT 
		employee_id,employee_name
FROM
		employee
WHERE
		department="R&D" OR department="Personnel";

(注意:IN列表中的元素类型必须一致或者可以隐式转换)
4.IS NULL关键字
在MySQL中,=等于号不支持右值为NULL

USE test;
SHOW TABLES;
SELECT 
		*
FROM
		employee
WHERE
		bonus_rate=NULL;

运行程序不能得到结果:
MySQL学习笔记(2)

USE test;
SHOW TABLES;
SELECT 
		*
FROM
		employee
WHERE
		bonus_rate IS NULL;

MySQL学习笔记(2)
改为IS NULL可以得到我们想要的结果。另外,还有IS NOT NULL:

USE test;
SHOW TABLES;
SELECT 
		*
FROM
		employee
WHERE
		bonus_rate IS NOT NULL;

MySQL学习笔记(2)