zoukankan      html  css  js  c++  java
  • MySQL学习笔记(二)——检索数据与过滤数据

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

    一、数据检索

          检索单个列:

          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......

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

    
    

      

  • 相关阅读:
    Firefox for macOS 标签关闭按钮设置在左侧
    Nginx 非编译安装 stream 模块实现四层负载均衡
    苹果手机卡死,强制关机方法
    Git安装完成,文件夹下右键菜单不出现出现Git Bash Here 和Git UI Here问题
    AESUtil
    若依框架清空select2选择
    RSAUtils
    springboot 延时任务
    Mqtt的坑,真的坑
    springboot 支付宝支付业务网页端扫码
  • 原文地址:https://www.cnblogs.com/dreamyu/p/6557026.html
Copyright © 2011-2022 走看看