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 为降序
我们在查询标的时候,套嵌查询和关联查询一起使用往往可以解决不少问题。