【MySQL】数据库的查询语言DQL

目录

前言:

一.基本查询

1.1查询多个字段

1.2设置别名

1.3去除字段中重复的值

二.条件查询

2.1条件的种类

2.1.1比较运算符

2.1.2逻辑运算符

三.结尾


前言:

  在前面讲完了如何增删改数据表中的记录后,那么如何使用这些数据就成了另一个重点。

  当我们浏览网站的时候,商品的各种信息,比如价格、厂商、型号等等都是从数据库里调出来呈现的结果。

    不妨说,我们存数据就是为了有一天取出来使用,查询数据并将其展示出来,在日常生活中,查询数据比存储数据更频繁。

一.基本查询

  准备好以下的测试数据: 

1.1查询多个字段

select 字段1,字段2,... from 表名;

  查询员工的姓名、工作地点和入职时间:

  当要查询所有字段的时候,有两种选择,第一种是把所有字段罗列出来,第二种是使用通配符*。

select * from 表名

  这句代码的意思是查询表中所有的字段数据,也就是整张表。

1.2设置别名

  此时对于num字段,我们并不知道它表示的是什么意思,虽然我们一开始有comment标明它的含义,但查询的时候没显示出来。

  这时候就需要给它起个别名,起别名的代码如下:

select 字段1[as '别名'], 字段2[as '别名'],... from 表名;

  查询num字段、name字段、gender字段,并且将序号作为num字段的别名。

  代码如下:

select num as '序号',name,gender from emp;

  效果如下: 

1.3去除字段中重复的值

  比如客户想要知道,公司在哪个地方,这时候,就需要把不同工作地点的员工显示一个就可以了。

select distinct 字段1,字段2,... from 表名;

  代码实现的效果:

   在表中不止有一个员工的工作地点在北京,用上distinct可以将重复的值给去掉。

二.条件查询

select 字段列表 from 表名 where 条件;

2.1条件的种类

  在讲解条件查询之前,需要讲讲如何设置条件,分别有比较的运算符、逻辑运算符,它们和编程语言很像噢~

2.1.1比较运算符

  常见的比较运算符有:

  • >大于号、<小于号、=等于号(判断相等的)、>=、<=、
  • <>或!=是不等于的意思

  如果符合where设置的这些条件,那么就会被查询出来。

2.1.2逻辑运算符

  有&&(并且)、||(或者)、!(非),这三个表示逻辑的符号,和C语言中的不能说完全一样,简直是一模一样。

  但是在MySQL中,更多的是使用and、or、not这三个来分别表示上面的三个逻辑运算符。  

特殊的运算符:

  is null 这个使用来判断是不是空的

  like是用来模糊匹配的,与其搭配使用的有,_(表示一个字符,一个占位符),%(表示多个字符,多个占位符);

  想要查询小于25岁的员工数据怎么查询呢?

select * from emp where age < 25;
/* 查询所有符合年龄小于25的字段 */

   如何查询大于等于20岁、小于等于23岁员工的信息呢?

select * from emp where age >= 20 and age <= 23;

    实际上,在数据库中,还有一种写法,这样写的:

select * from emp where age between 20 and 23;

  字段 between 较小值 and 较大值,注意的一点是,between...and...包含端点值噢。


  如何查询24岁、25岁的员工呢? 

select * from emp where age = 24 or age = 25;

  和and一样,有一种像between一样的表示法,那就是in。

  可以这样写:

select * from emp where age in(24,25);

  它的意思是在age为24或25这个条件成立的记录里查询。


三.结尾

  关于特殊的运算符,我们以后再讲啦,今晚已经不早啦,内容少一点有助于吸收,哈哈~ 下次见!

猜你喜欢

转载自blog.csdn.net/muwithxi/article/details/131140894