【0】README
0.1)本文部分文字描述转自“MySQL 必知必会”,旨在review “MySQL的基础知识”;
【1】检索数据
1)检索单个列:select a_name from table_name;
2)检索多个列:select a_name,b_name from table_name;
3)检索所有列:select * from table_name;
attention)一般不推荐使用 select *,除非你确实需要表中的每个列,因为检索不需要的列通常会降低检索和应用程序的性能;
4)检索不同行: select distince column_name from table_name;
Attention)distinct 应用于所有列而不仅仅是前置列;
5)限制结果
5.1)select * from product limit 5: limit 5 指示 mysql 返回不多于5行;
5.2)select * from product limit 5, 5: 从行5开始的连续5行数据;
Attention)
A1)行0:检索出来的第一行是行0而不是行1,所以 limit 1,1 将检索出第二行而不是第一行;
A2)MySQL5的limit语法:limit 3,4 表示 从行3开始的4行;
A3)上面的limit 3,4 容易吧人搞糊涂,一种替代语法:limit 4 offset 3;从行3开始取4行;
【2】排序检索数据
1)order by 子句:

2)按照多个列进行排序

3)指定排序方向(默认是升序排序,为了进行降序排序,指定desc关键字(descend,下降))
Attention)
A1)与desc相反的关键字时 asc(ascend,升高);
A2)关键字 desc 只应用到其前面的列名;
4)order by 子句的位置:其 在 from 子句之后,在limit 子句之前;
【3】过滤数据
1)使用where子句:where的位置 在order by 之前;
2)where子句的操作符


3)范围检查:between的测试用例
Attention)不推荐在client端进行过滤,因为如果在客户机上进行过滤数据,服务器不得不通过网络发送多余的数据,这将导致网络带宽的浪费;
4)空值检查:is null 子句
【4】过滤数据补充
1)组合where子句
1.1)and 操作符:

1.2)or 操作符:

1.3)计算次序: 请注意 and 和 or 操作符的优先级,and的优先级高于or,必要时使用括号;
2)in 操作符:in 操作符用来指定条件范围,范围中的每个条件都可以进行匹配;其功能和or 操作符相同;
3)not 操作符
【5】用通配符进行过滤
0)intro to 通配符
0.1)通配符:用来匹配值的一部分的特殊字符;
0.2)搜索模式:由字面值,通配符或两者组合构成的搜索条件;
0.3)必须使用like操作符:为在搜索子句中使用通配符,必须使用like 操作符。like指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较;
1)通配符介绍
1.1)百分号(%)通配符:%表示任何字符出现任意次数;
2)下划线通配符:下划线只匹配单个字符而不是多个字符;
3)使用通配符的技巧(skill)
s1)不要过度使用通配符;
s2)在确实需要使用通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处。把通配符置于搜索模式的开始处,搜索起来是最慢的 ;
【6】用正则表达式进行搜索
1)intro to 正则表达式:正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较;
2)基本字符匹配:

3)点(.)匹配任意一个字符

4)进行or 匹配

5)匹配几个字符之一

Attention)
A1)正则表达式[12]000 是 [1|2]000的缩写;
A2)字符集合也可以被否定:即,他们将匹配除指定字符外的任何东西。为否定一个字符集,在集合的开始处放置一个 ‘^’即可。
6)匹配范围
6.1)匹配数字0到9:[0-9];
6.2)匹配字母a到z:[a-z];
7)返回特殊字符
problem)如果我们要匹配点(.)这个字符,应该怎么写正则表达式呢?
solution)通过写 '\\.' 进行匹配;(这是所谓的转义字符)
8)匹配字符类

9)匹配多个实例(匹配多次出现的模式)


10)定位符
10.1)为匹配特定位置的文本,需要定位符,如下所示:

10.2)匹配以数字或点(.)为开头的行



Attention)
A1)‘^’ 字符的双重作用:在集合中(用[]定义 ),用它来否定该集合;否则(在[]前面),用来指定串的开始处;
A2)regexp 和 like 的区别: like 匹配整个串而 regexp 匹配子串;
A3)利用定位符,通过^ 开始每个表达式,$ 结束每个表达式;

MySQL检索数据(过滤+通配符+正则表达式)相关推荐

  1. python能查询MySQL视图_python - 在使用Django的视图中,如何从mysql检索数据,并显示它_python_酷徒编程知识库...

    这是模型:from django.db import models # Create your models here. class Contact(models.Model): name = mod ...

  2. MySQL(二)数据的检索和过滤

    使用频率最高的SQL语句应该就是select语句了,它的用途就是从一个或多个表中检索信息,使用select检索表数据必须给出至少两条信息:想选择什么,以及从什么地方选择 一.检索数据 1.检索单个列 ...

  3. MySQL:检索数据

    检索数据 1.检索数据:即查询数据,数据库的基本操作之一(增删改查) 2.从数据库表中查询数据,使用SELECT语句 3.使用SELECT语句从表中检索一个或多个数据列,在使用该语句时必须明确两条信息 ...

  4. SQL 100+个最佳入门案例实践(覆盖Oralce、SQL Server、Mysql)之基础操作_1_检索数据

    SQL基础操作_1_检索数据 目录 7.1.1 数据集 7.1.2 学生选课关系表 7.1.3 供应商关系表 7.2.1 从表中查询所有行和列 7.2.2 从表中查询部分行 7.2.3 查询满足某个条 ...

  5. mysql第四章分页显示查询出租房屋信息_MYSQL必知必会读书笔记第四章之检索数据...

    MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理. 使用Select语句返回的数据,可能会发现显 ...

  6. MYSQL必知必会 第四章 检索数据

    文章目录 一.基础知识 1.MYSQL与SQL的区别: 2.数据库基本概念 二.检索数据 1.检索单个列 2.检索多个列 3.检索所有列 4.检索不同的行 5.限制结果 一.基础知识 1.MYSQL与 ...

  7. 数据过滤(MySQL)

    数据过滤 数据过滤用在WHERE表达式里,常用的有基本查询过滤.条件查询过滤.模糊查询过滤.字段查询过滤以及正则表达式查询过滤. 一.基本查询过滤 基本查询过滤可以查询所有字段数据或指定一个字段或者多 ...

  8. sql两个表查不同数据_产品操作MySQL第6篇 – 数据过滤-WHERE子句

    MYSQL 本资料为产品岗位作为日常工作参考,语言口语化 At 2019/4/26 By David.Yang 如何使用限定条件来进行数据过滤? 在前问当中,我们已经学会到了SELECT查询, 在过程 ...

  9. mysql 升序_MySQL之排序检索数据

    获取数据: 深大享:MySQL之数据准备​zhuanlan.zhihu.com 排序检索数据: 如何使用SELECT语句的ORDER BY子句,根据需要排序检索出的数据. 1.未排序检索数据 -- 未 ...

最新文章

  1. CentOs7 修改rpm安装背景图
  2. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 8 章 数据类型_8.6. 布尔类型
  3. 设计模式C#描述之——简单工厂模式、抽象工厂模式、单例与多例模式
  4. php使用strstr函数 ,判断字符串A中是否含有字符串B
  5. android XMl 解析神奇xstream 六: 把集合list 转化为 XML文档
  6. 单列设计模式 懒汉式及多线程debug
  7. cordova 更改app版本_【ios马甲包cps联运】App上架难 马甲包不知道该怎么做?
  8. Qt笔记-当前时间转GMT并转换成英文(Qt构造http头中Date数据)
  9. QT创建文件夹(QDir方式)
  10. SAP License:财务报表版本文本
  11. Comparator和Comparable (转)
  12. Android 通过Base64上传图片到服务器
  13. Java开源工作流框架对比
  14. 关键词文章自动生成工具-关键词组合工具-关键词文章采集工具
  15. 顺丰同城赴港IPO 有望凭借高增速和生态布局成为第三方即时配送平台第一股
  16. C++中的抽象概念详解
  17. ui设计是什么:ui设计学什么内容
  18. ThinkPHP6 验证码(点击刷新)
  19. CAD版本转换怎么转?简单几步帮你解决
  20. and true和if都是python语言的保留字_python自学 第三章 python语言基础之保留字、标识符与内置函数...

热门文章

  1. NOIP2020 赛前总结
  2. CF1322C:Instant Noodles
  3. P4127 [AHOI2009]同类分布(数位dp)
  4. P3177-[HAOI2015]树上染色【树形dp】
  5. jzoj1403-渡河【SPFA】
  6. nssl1322,jzoj(初中)2109-清兵线【dp】
  7. P3899 [湖南集训]更为厉害(线段树合并、长链剖分、二维数点)
  8. E. Pattern Matching(题意理解+拓扑排序)
  9. 【prim】【最小生成树】最优布线问题(ssl 1612)
  10. 势能线段树(均摊分析)