MySQL正则表达式与常用操作总结
需积分: 10 114 浏览量
更新于2024-09-09
1
收藏 18KB DOCX 举报
"这是关于MySQL的一些必会必知的关键知识点,主要涵盖了正则表达式在查询中的应用、字符串操作以及字段的拼接与算术计算。这些内容都是在MySQL数据库操作中非常实用的技能。"
在MySQL中,正则表达式是进行复杂文本匹配的重要工具。以下是一些使用示例:
1. 使用`REGEXP`进行模糊匹配:`SELECT prod_name FROM products WHERE prod_name REGEXP '.000' ORDER BY prod_name;` 这个查询将返回所有产品名称中包含'.000'的记录,并按产品名称排序。
2. `BINARY`关键字用于区分大小写匹配:`WHERE prod_name REGEXP BINARY 'JetPack.000'` 在这个例子中,匹配时会考虑字母的大小写。
3. 使用`OR`操作符进行多个条件匹配:`SELECT prod_name FROM products WHERE prod_name REGEXP '1000|2000' ORDER BY prod_name;` 这将找到产品名称中包含'1000'或'2000'的记录。
4. 匹配字符之一:`SELECT prod_name FROM products WHERE prod_name REGEXP '[123]ton' ORDER BY prod_name;` 和 `SELECT prod_name FROM products WHERE prod_name REGEXP '1|2|3ton' ORDER BY prod_name;` 这两个查询都能找到以'1', '2', 或 '3'开头,后跟'ton'的产品名称。
5. 匹配字符范围:`SELECT prod_name FROM products WHERE prod_name REGEXP '[1-5]ton' ORDER BY prod_name;` 会找到以1到5之间数字开头,后跟'ton'的产品名称。
6. 用反斜杠`\`转义特殊字符:`SELECT vend_name FROM vendors WHERE vend_name REGEXP '\\.' ORDER BY vend_name;` 这会匹配名称中含有句点"."的供应商。
7. 字符类匹配和多次实例:`SELECT prod_name FROM products WHERE prod_name REGEXP '\\([0-9]sticks?\\)' ORDER BY prod_name;` 会找到名称中包含"()内有数字sticks?"的记录。`[[:digit:]]{4}`则匹配连续4位数字。
8. `LIKE`与`REGEXP`的区别:`LIKE`匹配整个字符串,而`REGEXP`则可以匹配子串。
9. `CONCAT()`函数用于字段拼接:`SELECT CONCAT(vend_name, '(', vend_country, ')') FROM vendors ORDER BY vend_name;` 将供应商名称和国家信息拼接在一起。
10. 使用别名:`SELECT CONCAT(RTrim(vend_name), '(', RTrim(vend_country), ')') AS vend_title FROM vendors ORDER BY vend_name;` 这里使用`AS`关键字为拼接后的字段创建了别名`vend_title`。
11. 执行算术计算:虽然示例中未给出具体的算术计算示例,但在MySQL中,你可以直接在查询中进行数学运算,如`SELECT prod_id, quantity * price AS total_price FROM products;` 这将计算每个产品的总价。
以上内容涵盖了MySQL中一些基本的正则表达式操作、字符串处理和数据计算技巧,对于理解和提升MySQL查询能力非常有帮助。通过熟练掌握这些知识点,你可以在实际工作中更高效地处理数据查询任务。
2015-02-03 上传
2024-02-22 上传
2024-02-23 上传
2020-12-15 上传
点击了解资源详情
点击了解资源详情
qq_21901925
- 粉丝: 0
- 资源: 1
最新资源
- 常用的css标记,只供大家学习和参考
- 与WEKA想对应的一本参考书-Data mining
- 领域驱动设计精简版 (中文版)
- DWR 入门学习文档(中文)
- C#3.0 设计模式(en)
- spring 开发指南(中文)
- JavaServer Faces in Action
- QT4中文手册不错的资料
- struts2从入门到精通中文学习资料!
- sql 入门到精通中文学习资料
- 页面置换算法(FIFO,LRU,最佳和Clock四种算法)
- scala编程是一种很有品味的类型语言:它是静态类型的,但仅需在必要的地方显式定义类型
- uIP原版英文用户手册
- jfreechart developer guide
- LTE及其关键技术介绍.pdf
- 介绍HTTP协议的RFC 学习HTTP的必备资料