首页 > 代码库 > mySQL数据库三:命令行附录

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

 

 

 

 

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

mySQL数据库三:命令行附录