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 为降序

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

  • 相关阅读:
    读操作
    读锁与写锁
    Mvcc
    readView
    版本链
    事务的隔离性
    索引的代价
    keras backend的修改
    caffe 笔记
    菜品识别 SDK调用
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/6650760.html
Copyright © 2011-2022 走看看