检索数据和过滤数据也就是平时用到最多的增删改查里面的查了。

一、数据检索

检索单个列:

select column from table;

检索多个列:

    select colunm1,column2 from table;

 检索所有列:

    select * from table;

检索不同行(DISTINCT):

     检索不同行使用distinct去重,它必须直接放在列名的前面

我们看这样一个表:

 这个表显示的不同学生选修的不同课程的成绩,如果我们查有哪些学生参加了考试

select distinct sno from sc;

限制结果(LIMIT):

    为了返回第一行或指定的几行,可以使用limit

limit n:返回不多于n行

limit m,n:返回从行m开始的n行,注意行0检索出来的是第一行

排序检索数据(ORDER BY)

    按单个列排序:

     select * from table order by column;

   order by排序默认是升序(ASZ),如果想降序排序则需要使用DESC:

 按多个列排序:

   select * from table order by column1,column2;  首先按列1排序,然后按列2排序

如图所示,先按课程名称排序,再按成绩排序。

二、数据过滤

    使用where子句

    where子句的操作符说明:

    =            :等于

    <>          :不等于

!=           :不等于

< ,>      :小于和大于

<=,>=   :小于等于,大于等于

BETWEEN :指定两个值之间,包含指定的开始值和结束值。

在where子句中,单引号用来限定字符串,如果将值与字符串类型的列进行比较,则需要限定引号,用来与数值列进行比较的值不用引号。

空值检查:使用 IS NULL来校验空值。

AND操作符:

    用来指示检索满足所有给定条件的行。

OR操作符:

    用来指示检索匹配任一条件的行。

计算次序:优先处理AND操作符

   

先检索条件sno=9531101并且成绩大于等于90的行,然后检索sno=9512101或者满足后面条件的行。

IN操作符:

   用来指定条件范围,范围中的每个条件都可以进行匹配。

in操作符完成的检索跟or是起到了相同的作用,那么使用in操作符的优点是什么呢?

1.in操作符的语法更清楚更直观,如果是多个条件,那么用or就可能是  where column = a or column = b or column =c......

2.使用in操作符计算的次序更容易管理

3.in操作符的执行更快

4.可以包含其他select语句

NOT操作符:

用来否定后跟条件的关键字。

通配符(%):

   使用通配符必须使用操作符LIKE

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

注意:尾空格可能会干扰通配符匹配。

通配符(_):

   下划线通配符只匹配单个字符。

使用通配符的技巧:

1.不要过度使用通配符。

2.除非绝对有必要,否则不要把它们用在搜索的开始处。

3.仔细注意通配符的位置。

---------------------------------------------

Learning is endless......

---------------------------------------------


  

MySQL学习笔记(二)——检索数据与过滤数据的更多相关文章

  1. 【原】Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性

    本来应该上周更新的,结果碰上五一,懒癌发作,就推迟了 = =.以后还是要按时完成任务.废话不多说,第四章-第六章主要讲了三个内容:键值对.数据读取与保存与Spark的两个共享特性(累加器和广播变量). ...

  2. MySQL学习笔记二

    Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...

  3. MySQL学习笔记(二):MySQL数据类型汇总及选择参考

    本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型.  ******几个通用的简单原则:******* 1. 更小的通常更好.但是要确保没有低估需要存储的值的范围,如果无法确定 ...

  4. MySQL学习笔记(二)

    连接与断开服务器 应该以下面的方式连接MySQL服务器,而不是将密码以明文方式输入连接. C:\> mysql -h host -u user -pEnter password: ******* ...

  5. mysql学习笔记二 —— 权限体系

    要点: 1.MySQL的API2.MySQL的相关文件3.MySQL的权限体系 1.MySQL的API 应用程序接口 (application program interface) 1.1 命令行中的 ...

  6. MySQL 学习笔记 二

    Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...

  7. sql分类及基本sql操作,校对规则(mysql学习笔记二)

    sql针对操作对象分为不同语言 数据操作(管理)语言 DML或者将其细分为 ( 查询  DQL 管理(增,删,改)  DML) 数据定义语言(对保存数据的格式进行定义) DDL 数据库控制语言(针对数 ...

  8. MySQL学习笔记(二)—查询

    一.多表连接查询 新建两张表t_user.t_order.              1.内连接      返回满足条件的所有记录. (1)显式内连接      使用inner join关键字,在on ...

  9. MySQL学习笔记二:权限管理

    1. 创建和删除用户,mysql中的用户是由用户名和主机名来确定的 create user "user_name@host_name" identified by passwd; ...

  10. MySql学习笔记(二) —— 正则表达式的使用

    前面介绍利用一些关键字搭配相应的SQL语句进行数据库查找过滤,但随着过滤条件的复杂性的增加,where 子句本身的复杂性也会增加.这时我们就可以利用正则表达式来进行匹配查找. 1.基本字符匹配 ' o ...

随机推荐

  1. Java---详解方法传值问题

    过程解析: 1.首先执行int[] arr={3,5,6,1,7,9,0},遇到数组先执行等式右边的,{3,5,6,1,7,9,0}会在堆内存中开辟一块空间,分成7小块,下标分别从0~6,先进行系统初 ...

  2. Android 调用.so包时报错:No implementation found for native Lxxx, java.lang.UnsatisfiedLinkError: XXX时的解决办法(转)

    问题就是在调用自己同事写的.so包时,怎么也掉不通,程序一直报错退出,错误内容就是: 1 No implementation found for native Lxxx, 2 Java.lang.Un ...

  3. Direct2D教程(九)渲染位图

    概述 这篇的标题更确切的说应该叫位图画刷,这样才好和前几篇对应起来.在Direct2D中,位图的渲染也是通过画刷来实现的. Direct2D中并没有直接操作位图的接口,而是借助WIC(Windows ...

  4. 一天时间用OpenFire打造自己的IM聊天工具

    Openfire采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.Openfire安装和使用都非常简单,并利用Web进行管理.单台服务器可支持上万并发用户. 好友界面 ...

  5. springMVC前后端分离开发模式下支持跨域请求

    1.web.xml中添加cors规则支持(请修改包名) <filter> <filter-name>cors</filter-name> <filter-cl ...

  6. Java中字符串转为16进制表示

    Java中字符串转为16进制表示 String str = "鲸"; char[] chars = "0123456789ABCDEF".toCharArray ...

  7. 转:Android IOS WebRTC 音视频开发总结 (系列文章集合)

    随笔分类 - webrtc   Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译 ...

  8. hibernater-validator jar包冲突的问题

    在引用hibernater-validator jar包时一直抛出异常,在引用带有该包的项目,或者同时在一个项目中使用该包和validator包都会抛出以下异常 最后发现是在Eclipse环境下,不能 ...

  9. jstl的函数

    <%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%><%@ tag ...

  10. Redhat hadoop2.7.2安装笔记

    本次安装是在windows7环境下安装redhat虚拟机进行的,所须要的软件例如以下: VirtualBox-5.0.16-105871-Win.exe rhel-server-5.4-x86_64- ...