zoukankan      html  css  js  c++  java
  • mySQL数据库三:命令行附录

    一:where

    在上一篇,粗略的介绍了where,但是where后面可以跟其他的条件,现在我们来一一说明

    1.between:在某两个值之间

    我建立一个名为person的表,里面有id,name,age,post,再插入几条数据,如下图所示:

    然后我想让age里面18到35岁里面的post改为'菜鸟',那么我应该运行这行代码

    则显示的效果为:

    2.in:一系列值当中

    我想使名为fangming和lisi的POST改为“菜菜鸟”,这个时候我们需要用到了in,代码如下

    实现的效果如下:

    3.is null 是否为空

    我们有时候需要对表中数据为空的数值进行一系列的操作,这个时候我们需要用到is null的操作,代码如下:

    实现的效果如下:

    由于我对name没有进行转码操作,所以出现了乱码,但是效果是出现了

    既然有了is null,那就有is not null的操作,为对不是空的数值进行操作,如下:

    效果如下:

    4.like:模糊查询

    我们有时候需要查询以某一个字段开头或者结尾的数据,这个时候就用到了like,与%结合使用,

    如我想查询name中以'ming'结尾的字段,代码如下

    效果如下:

    二.套嵌查询

    我们有时候需要根据两个表相同的列名进行跨表查询,这个时候需要用到了嵌套查询,

    我有两个表,一个是学生,一个是班级,如下图所示:

     可以看出他们都有一个相同的列名cid,其实这个列名可以不相同,但是只要可以保证可以通过这个列名进行查询,即有相同数值即可

    现在我想查询学生里属于班级人数为52的学生(稍微有点绕0.0),代码如下:

    可能有点绕,但是仔细捋捋还是可以明白的,好,那么我们加大难度,如果我想将学生的班级信息和学生信息一起打印出来,该怎么办呢,很明显,嵌套查询已经无法满足我们了,且看下面:

    三:关联查询

    我们需要用到关联查询了,它的语法是这样的

    select 别名1.列名,别名2.列名 from 表名1 别名1,表名2 别名2 where 别名1.相同列
    名=别名2.相同列名;

    我知道你已经晕了,好,我们直接上命令行:

    效果如下:

    是不是很神奇,还有更神奇的,这样出来默认的是升序,我们可以给定他按照cid的降序进行排列,代码如下

    只需要在后面跟order by 列名  为升序,order by 列名 desc 为降序

    我们在查询标的时候,套嵌查询和关联查询一起使用往往可以解决不少问题。

  • 相关阅读:
    门面模式简述
    转:日志组件logback的介绍及配置使用方法
    spring boot项目中使用sfl4j+logbak配置
    druid相关资料
    spring boot +druid数据库连接池配置
    设计模式之Strategy模式
    转:高效代码审查的八条准则和十个经验
    SpringMVC如何解决POST请求中文乱码问题,GET的又如何处理呢?
    【其它】关于本博客的一些说明
    [THUWC2020] 自爆记
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/6650760.html
Copyright © 2011-2022 走看看