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

news/2024/7/5 2:15:11

目录

前言:

一.基本查询

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这个条件成立的记录里查询。


三.结尾

  关于占位符,我们明天再将啦,今晚已经不早啦,内容少一点有助于吸收,哈哈~ 明天见!


http://lihuaxi.xjx100.cn/news/1231646.html

相关文章

有可以在游泳戴的耳机吗?适合游泳佩戴的耳机推荐

1.南卡Runner Pro4S骨传导游泳耳机 作为国内骨传导天花板品牌的南卡其发布的新产品Runner Pro 4S与之前的Pro 3和Pro 4在佩感方面没有太大改变&#xff0c;依旧舒适牢固&#xff0c;不会发生掉落的情况&#xff0c;实测重量31.7g&#xff0c;几乎是无感佩戴&#xff0c;毫无负担…

SpringBoot+Mybatis+Thymeleaf实现的物资管理系统

本系统具体使用的技术是&#xff1a;后端使用SpringBootMybatis&#xff0c;前端使用了Thymeleaf框架&#xff0c;数据库使用的是MySql 8.0。开发工具使用的是IDEA。 本系统前端是使用了前辈的管理系统模板&#xff0c;具体的系统模块功能如下图所示&#xff1a; 一、系统首页…

dubbo流量录制异常(dubbo2.7.3)的问题解决排查

背景 我们自己基于jvm-sandbox-repeater做的流量录制出现了如下的问题, 从这个问题的堆栈信息来看&#xff0c;是在针对dubbo的调用的时候判断这个dubbo的返回是否有异常的时候&#xff0c;报了空指针异常了。 分析 我们看下具体出错的代码地方是怎么样的吧。 Overridepro…

Rust每日一练(Leetday0027) 单词搜索、删除重复项II、搜索旋转排序数组II

目录 79. 单词搜索 Word Search &#x1f31f;&#x1f31f; 80. 删除有序数组中的重复项 II Remove-duplicates-from-sorted-array-II &#x1f31f;&#x1f31f; 81. 搜索旋转排序数组 II Search-in-rotated-sorted-array-II &#x1f31f;&#x1f31f; &#x1f31…

北邮国院物联网Software Engineering软件工程笔记

主要依照课上ppt的面向考试学习。 pdf文件获取&#xff1a;添加文章末尾微信公众号&#xff1a;灰海宽松&#xff0c;后台回复“软件工程”获取文件。 文章目录 Introductionsoftware typesgood software featureswhat is software engineering?4 layersWhy important?Genera…

chatgpt赋能python:Python实践:如何升级pip

Python实践&#xff1a;如何升级pip Python作为一门高效的脚本语言&#xff0c;被广泛应用于数据分析、人工智能、Web开发等领域。而pip则是Python的包管理工具&#xff0c;是开发Python应用的必备工具。但是pip在使用过程中&#xff0c;有时候会出现版本不兼容或者出现漏洞等…

时间同步/集群时间同步/在线/离线

目录 一、能够连接外网 二、集群不能连接外网--同步其它服务器时间 一、能够连接外网 1.介绍ntp时间协议 NTP&#xff08;Network Time Protocol&#xff09;网络时间协议&#xff0c;是用来使计算机时间同步的一种协议&#xff0c;它可以使计算机对其服务器或时钟源做同步…

学习PS的个人笔记:掌握基本技能和高级应用

引言 Photoshop&#xff08;简称PS&#xff09;是一款广泛使用的图像处理软件&#xff0c;被设计师、摄影师和美工等职业人士广泛应用。本篇博客将带你深入学习PS的基本技能和高级应用&#xff0c;从而让你更好地应对各种图像处理任务。 基础知识 界面介绍 打开PS后&#x…