MYSQL查询条件的函数的用法

发布时间:2021-08-30 15:53:22 作者:chen
来源:亿速云 阅读:165

MYSQL查询条件的函数的用法

在MySQL中,查询条件是用于过滤和筛选数据的核心部分。通过使用各种函数和操作符,我们可以构建复杂的查询条件来满足不同的需求。本文将详细介绍MySQL中常用的查询条件函数及其用法。

1. 比较函数

比较函数用于比较两个值,并返回布尔值(TRUE或FALSE)。常用的比较函数包括:

1.1 =!=

SELECT * FROM users WHERE age = 25;
SELECT * FROM users WHERE age != 25;

1.2 ><>=<=

SELECT * FROM users WHERE age > 25;
SELECT * FROM users WHERE age < 25;
SELECT * FROM users WHERE age >= 25;
SELECT * FROM users WHERE age <= 25;

1.3 BETWEEN ... AND ...

BETWEEN ... AND ... 用于判断某个值是否在指定的范围内。

SELECT * FROM users WHERE age BETWEEN 20 AND 30;

1.4 INNOT IN

SELECT * FROM users WHERE age IN (20, 25, 30);
SELECT * FROM users WHERE age NOT IN (20, 25, 30);

1.5 IS NULLIS NOT NULL

SELECT * FROM users WHERE email IS NULL;
SELECT * FROM users WHERE email IS NOT NULL;

2. 逻辑函数

逻辑函数用于组合多个条件,常用的逻辑函数包括:

2.1 AND

AND 用于组合多个条件,只有当所有条件都为TRUE时,整个表达式才为TRUE。

SELECT * FROM users WHERE age > 20 AND age < 30;

2.2 OR

OR 用于组合多个条件,只要有一个条件为TRUE,整个表达式就为TRUE。

SELECT * FROM users WHERE age = 20 OR age = 30;

2.3 NOT

NOT 用于取反一个条件。

SELECT * FROM users WHERE NOT age = 25;

3. 字符串函数

字符串函数用于处理字符串类型的数据,常用的字符串函数包括:

3.1 LIKE

LIKE 用于模糊匹配字符串。可以使用 % 匹配任意数量的字符,使用 _ 匹配单个字符。

SELECT * FROM users WHERE name LIKE 'J%';  -- 匹配以J开头的名字
SELECT * FROM users WHERE name LIKE '%n';  -- 匹配以n结尾的名字
SELECT * FROM users WHERE name LIKE '_o%'; -- 匹配第二个字符为o的名字

3.2 CONCAT

CONCAT 用于连接多个字符串。

SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;

3.3 SUBSTRING

SUBSTRING 用于截取字符串的一部分。

SELECT SUBSTRING(name, 1, 3) AS short_name FROM users;  -- 截取名字的前三个字符

3.4 LENGTH

LENGTH 用于返回字符串的长度。

SELECT name, LENGTH(name) AS name_length FROM users;

3.5 TRIM

TRIM 用于去除字符串两端的空格。

SELECT TRIM('   Hello World   ') AS trimmed_string;

4. 数值函数

数值函数用于处理数值类型的数据,常用的数值函数包括:

4.1 ABS

ABS 用于返回一个数的绝对值。

SELECT ABS(-10) AS absolute_value;

4.2 ROUND

ROUND 用于对一个数进行四舍五入。

SELECT ROUND(3.14159, 2) AS rounded_value;  -- 保留两位小数

4.3 CEILFLOOR

SELECT CEIL(3.14159) AS ceil_value;
SELECT FLOOR(3.14159) AS floor_value;

4.4 MOD

MOD 用于返回两个数相除的余数。

SELECT MOD(10, 3) AS remainder;  -- 返回1

5. 日期和时间函数

日期和时间函数用于处理日期和时间类型的数据,常用的日期和时间函数包括:

5.1 NOW

NOW 用于返回当前的日期和时间。

SELECT NOW() AS current_datetime;

5.2 CURDATECURTIME

SELECT CURDATE() AS current_date;
SELECT CURTIME() AS current_time;

5.3 DATETIME

SELECT DATE(NOW()) AS date_part;
SELECT TIME(NOW()) AS time_part;

5.4 DATEDIFF

DATEDIFF 用于计算两个日期之间的天数差。

SELECT DATEDIFF('2023-10-01', '2023-09-01') AS days_diff;  -- 返回30

5.5 DATE_ADDDATE_SUB

SELECT DATE_ADD('2023-09-01', INTERVAL 1 MONTH) AS new_date;  -- 返回2023-10-01
SELECT DATE_SUB('2023-09-01', INTERVAL 1 MONTH) AS new_date;  -- 返回2023-08-01

6. 聚合函数

聚合函数用于对一组值进行计算并返回单个值,常用的聚合函数包括:

6.1 COUNT

COUNT 用于返回符合条件的记录数。

SELECT COUNT(*) AS total_users FROM users;

6.2 SUM

SUM 用于返回某列的总和。

SELECT SUM(age) AS total_age FROM users;

6.3 AVG

AVG 用于返回某列的平均值。

SELECT AVG(age) AS average_age FROM users;

6.4 MINMAX

SELECT MIN(age) AS min_age FROM users;
SELECT MAX(age) AS max_age FROM users;

7. 条件函数

条件函数用于根据条件返回不同的值,常用的条件函数包括:

7.1 IF

IF 用于根据条件返回不同的值。

SELECT IF(age > 18, 'Adult', 'Minor') AS age_group FROM users;

7.2 CASE

CASE 用于实现多条件判断。

SELECT 
    CASE 
        WHEN age < 18 THEN 'Minor'
        WHEN age BETWEEN 18 AND 65 THEN 'Adult'
        ELSE 'Senior'
    END AS age_group
FROM users;

8. 总结

MySQL提供了丰富的查询条件函数,可以帮助我们构建复杂的查询语句来满足不同的需求。通过熟练掌握这些函数的用法,我们可以更高效地从数据库中提取和处理数据。无论是简单的比较、逻辑运算,还是复杂的字符串处理、日期计算,MySQL都提供了相应的函数来支持。在实际应用中,灵活运用这些函数可以大大提高数据查询的效率和准确性。

推荐阅读:
  1. MYSQL子查询以及合并查询的用法
  2. MySQL的SELECT查询用法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:如何使用Nginx反向代理来避免ajax跨域请求

下一篇:CodeIgniter集成smarty的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》