温馨提示×

怎样通过LIKE实现MySQL的数据筛选

小樊
91
2024-10-11 20:09:20
栏目: 云计算
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

在MySQL中,可以使用LIKE关键字实现模糊查询,从而筛选出符合条件的数据。以下是使用LIKE实现数据筛选的几种方法:

  1. 基本LIKE查询:
SELECT * FROM table_name WHERE column_name LIKE 'pattern';

其中,table_name是要查询的表名,column_name是要筛选的列名,pattern是模糊匹配的模式。例如,如果要查询所有名字以"张"开头的用户,可以使用以下语句:

SELECT * FROM users WHERE name LIKE '张%';
  1. 使用通配符:

MySQL中LIKE语句支持两个通配符:%_。其中,%表示匹配任意个字符(包括0个字符),_表示匹配任意一个字符。

  • 使用%进行模糊匹配:

    SELECT * FROM table_name WHERE column_name LIKE '%pattern%';
    

    例如,如果要查询所有名字包含"三"的用户,可以使用以下语句:

    SELECT * FROM users WHERE name LIKE '%三%';
    
  • 使用_进行模糊匹配:

    SELECT * FROM table_name WHERE column_name LIKE '_pattern';
    

    例如,如果要查询所有名字只有两个字,且第二个字是"三"的用户,可以使用以下语句:

    SELECT * FROM users WHERE name LIKE '_三';
    
  1. 使用LIKE与AND、OR、NOT组合进行复杂查询:

可以通过组合LIKE关键字与其他逻辑运算符(如AND、OR、NOT)来进行更复杂的查询。

  • 使用AND进行多个条件查询:

    SELECT * FROM table_name WHERE column_name1 LIKE 'pattern1' AND column_name2 LIKE 'pattern2';
    
  • 使用OR进行多个条件查询:

    SELECT * FROM table_name WHERE column_name1 LIKE 'pattern1' OR column_name2 LIKE 'pattern2';
    
  • 使用NOT进行否定查询:

    SELECT * FROM table_name WHERE NOT column_name LIKE 'pattern';
    

    例如,如果要查询所有名字不包含"三"的用户,可以使用以下语句:

    SELECT * FROM users WHERE NOT name LIKE '%三%';
    

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:如何通过FILTER函数实现数据的动态筛选

0