🔍 MySQL LIKE 子句
LIKE 子句概述
LIKE 子句用于在 WHERE 子句中搜索列中的指定模式。它使用通配符进行模糊匹配,是文本搜索的重要工具。
LIKE 基本语法
-- 基本语法
SELECT * FROM table_name WHERE column LIKE pattern;
-- 通配符说明
-- % : 匹配零个或多个字符
-- _ : 匹配单个字符
-- 基本示例
SELECT * FROM users WHERE username LIKE 'john%'; -- 以john开头
SELECT * FROM users WHERE username LIKE '%smith'; -- 以smith结尾
SELECT * FROM users WHERE username LIKE '%admin%'; -- 包含admin
SELECT * FROM users WHERE username LIKE 'user_'; -- user加单个字符
复杂模式匹配
-- 邮箱匹配
SELECT * FROM users WHERE email LIKE '%@gmail.com';
SELECT * FROM users WHERE email LIKE '%@%.com';
-- 手机号匹配
SELECT * FROM users WHERE phone LIKE '138%';
SELECT * FROM users WHERE phone LIKE '1__________'; -- 11位手机号
-- 产品代码匹配
SELECT * FROM products WHERE product_code LIKE 'A_____'; -- A开头的6位代码
转义字符
-- 转义特殊字符
SELECT * FROM products WHERE description LIKE '%50\\% off%'; -- 包含"50% off"
SELECT * FROM files WHERE filename LIKE '%\_backup%'; -- 包含"_backup"
-- 自定义转义字符
SELECT * FROM products WHERE description LIKE '%50#% off%' ESCAPE '#';
📋 最佳实践
- 安全性:确保操作的安全性和数据完整性
- 性能:考虑操作对数据库性能的影响
- 备份:重要操作前做好数据备份
- 测试:在生产环境前充分测试
- 监控:监控操作的执行情况