0

0

mysql查询操作及正则表达式小结

php中文网

php中文网

发布时间:2016-06-07 15:09:37

|

1369人浏览过

|

来源于php中文网

原创

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 怎么说呢,用markdown编辑好的文本,无法用在博客园中,不知道怎么处理。 一、排序 1、按多个列排序 使用逗号隔开,如果指定方向则紧挨着要排序的列名 对于多个列的排序,先按照前一个排序然后在前一

欢迎进入linux社区论坛,与200万技术人员互动交流 >>进入

  怎么说呢,用markdown编辑好的文本,无法用在博客园中,不知道怎么处理。

  一、排序

  1、按多个列排序

  使用逗号隔开,如果指定方向则紧挨着要排序的列名

  对于多个列的排序,先按照前一个排序然后在前一个的基础上按照后面的排序。

  如:

  SELECT * FROM a2 ORDER BY a_id DESC,t_id desc

  数据结果如下:

mysql查询操作及正则表达式小结

  2、order by与limit

  SELECT * FROM a2 ORDER BY a_id DESC,t_id desc LIMIT 1

  注意:

  order by 的位置,from之后,limit之前。

  二、数据过滤操作符(and/or/in/not)

  注意:优先级

  当含有and和or时,and的优先级高于or,所以先执行and,解决的办法就是使用()括号的优先级高于and,能够消除歧义。

  如:

  SELECT * FROM a2 WHERE (a_id = 2 or t_id>4) AND id>3

  in操作符的特点

  in操作符完成了与or相同的功能,如:

  SELECT * FROM a2 WHERE t_id in(1,2,3)

  SELECT * FROM a2 WHERE t_id =1 OR t_id=2 OR t_id=3

  上面两个功能相同。

  既然如此,那么为什么还用in呢,下面就说说in的优点:

  in的优点:

  1.在使用长的合法选项清单时,IN操作符的更清楚直观

  2.计算次序容易管理

  3.比OR执行快

  4.IN最大的优点可以包含其他select语句,能够动态的建立Where子句。

  SELECT * FROM a2 WHERE t_id in(

  SELECT t_id FROM a2 WHERE id=5

  );

  NOT 取反

  NOT对IN、BETWEEN、exists子句取反。

  三、数据过滤通配符

  %通配符

  %:表示任何字符出现任意次数

  LIKE '惠普%' :以'惠普'开头

  LIKE '%惠普' :以'惠普'结尾

uBrand
uBrand

一站式AI品牌创建平台,在线品牌设计,AI品牌策划,智能品牌营销;uBrand帮助创业者轻松打造个性品牌!

下载

  LIKE '%惠普%':包含'惠普'

  LIKE 's%e':以s开头,e结尾

  注意:

  1.除了一个或多个字符外,%还能匹配0个字符。

  2.尾空格可能会干扰通配符匹配,如:保存great时,如果它后面有一个或多个空格,则%great将不会匹配它们,因为后面有多余的字符(空格),解决办法就是使用双%,%great%,一个更好的办法是使用函数去掉首尾空格。

  3.%不能匹配NULL.

  _通配符

  下划线通配符与%相同,但是它只匹配单个字符而非多个。

  SELECT * FROM a WHERE name LIKE '_ood' #good

  SELECT * FROM a WHERE name LIKE 'goo_' #good

  SELECT * FROM a WHERE name LIKE 'go_d' #good

  优化:

  通配符在搜索处理上比其他的要慢些,所以要记住以下技巧:

  1.不要过度使用通配符

  2.不要把它们用在搜索模式的开始处,如若不然,搜索起来会很慢的。

  3.仔细注意通配符的位置,切勿放错。

  四、使用正则表达式

  本小节学习如何在Where子句中使用正则表达式来更好的控制数据过滤。

  1.基本字符的匹配

  SELECT * FROM a1 WHERE name regexp '1000' #匹配名称含有1000的所有行

  SELECT * FROM a1 WHERE name regexp '.000' #匹配以000结尾的所有行,(.正则中表示:匹配任意一个字符)

  从中可以看到正则表达式能够模拟LIKE使用通配符,注意:在通配符能完成的时候就不用正则,因为正则可能慢点,当然正则也能简化通配符,完成更大的作用。所以要有所取舍。

  LIKE与REGEXP的区别:

  SELECT * FROM a1 WHERE name LIKE 'a'

  SELECT * FROM a1 WHERE name regexp 'a'

  下面两条语句第一条不返回数据,第二条返回数据。

  原因如下:

  LIKE匹配整个列值时,不会找到它,相应的行也不会被返回(除非使用通配符)

  REGEXP匹配时,会自动查找并返回结果。

  那么REGEXP也能匹配整个列值,使用^和$定位符即可!

  匹配不区分大小写

  Mysql正则大小写都会匹配,为区分大小写可使用binary关键字,如:

  SELECT * FROM a1 WHERE name LIKE binary '%J%' #使用LIKE+通配符匹配大写J

  SELECT * FROM a1 WHERE name regexp binary 'j' #使用正则匹配小写j

[1] [2] 

mysql查询操作及正则表达式小结

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

28

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

7

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

2

2026.01.31

漫画防走失登陆入口大全
漫画防走失登陆入口大全

2026最新漫画防走失登录入口合集,汇总多个稳定可用网址,助你畅享高清无广告漫画阅读体验。阅读专题下面的文章了解更多详细内容。

8

2026.01.31

php多线程怎么实现
php多线程怎么实现

PHP本身不支持原生多线程,但可通过扩展如pthreads、Swoole或结合多进程、协程等方式实现并发处理。阅读专题下面的文章了解更多详细内容。

1

2026.01.31

php如何运行环境
php如何运行环境

本合集详细介绍PHP运行环境的搭建与配置方法,涵盖Windows、Linux及Mac系统下的安装步骤、常见问题及解决方案。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php环境变量如何设置
php环境变量如何设置

本合集详细讲解PHP环境变量的设置方法,涵盖Windows、Linux及常见服务器环境配置技巧,助你快速掌握环境变量的正确配置。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php图片如何上传
php图片如何上传

本合集涵盖PHP图片上传的核心方法、安全处理及常见问题解决方案,适合初学者与进阶开发者。阅读专题下面的文章了解更多详细内容。

2

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 816人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号