目录
前言:
一.基本查询
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这个条件成立的记录里查询。
三.结尾
关于特殊的运算符,我们以后再讲啦,今晚已经不早啦,内容少一点有助于吸收,哈哈~ 下次见!