DQL命令查询数据(一)

本课目标

理解查询的相关概念

掌握MySQL的简单查询语句

掌握MySQL中的函数

DQL 语言

DQLData Query Language 数据查询语言):用于查询数据库对象中所包含的数据

DQL语言主要的语句:SELECT语句

DQL语言是数据库语言中最核心、最重要的语句,也是试用频率最高的语句

查询的主要类型:简单的单表查询或多表的复杂查询和子查询

1.查询

SELECT 语法

1.

1.【】括号代表可选的

2.{ } 括号代表必选的

3.#  MySQL语句中的注释符,也可以用  /*该处为注释*/

3.在查询中使用别名,使用“AS” 关键字

  • 可给数据列取一个新别名
  • 可给表取一个新别名
  • 可把经计算或总结的结果用另外一个新名称来代替

4.在查询中使用常量列:如果需要将一些常量的默认信息添加到输出结果中,以方便统计或计算。可以使用常量列

5.DISTINCT 关键字的使用:去掉 SELECT 查询返回的记录结果中重复的记录(所有返回列的值都相同),只返回一条

#查询学生表中都处于那些年级,DISTINCT去重
SELECT DISTINCT GRADEID FROM STUDENT;

USE MYSCHOOL;#查询学生表中的学生的所有信息
SELECT * FROM STUDENT;
#查询学生表中所有学生的学号、姓名、性别、电话、地址
SELECT STUDENTNO,STUDENTNAME,SEX,PHONE,ADDRESS FROM STUDENT;
#将上一个查询结果的字段名用中文表示出来
SELECT STUDENTNO '学号',STUDENTNAME '姓名',SEX '性别',PHONE '电话',ADDRESS '地址' 
FROM STUDENT;

WHERE 条件

WHERE 条件:用于检索数据表中符合条件的记录

搜索条件可由一个或多个逻辑表达式组成,结果一般为真或假

搜索条件的组成:逻辑操作符、比较操作符

逻辑运算符

比较运算符

数值数据类型的记录之间才能进行算术运算
相同数据类型的数据之间才能进行比较

 

#查询学生表中都处于那些年级,DISTINCT去重
SELECT DISTINCT GRADEID FROM STUDENT;#查询课程表,学时大于110的课程信息
SELECT * FROM `SUBJECT` WHERE CLASSHOUR>110;#查询课程表中,学时不等于130的课程信息
SELECT * FROM `SUBJECT` WHERE CLASSHOUR !=130;

NULL 空值条件查询

  • NULL 代表 “无值”
  • 区别于零值 0 和空字符串 “ ”
  • 只能出现在定义允许为NULL的字段
  • 须使用 IS NULL 或 IS NOT NULL 比较操作符去比较

SELECT  字段1,字段2 ,…FROM 表名 WHERE   字段x  IS  NULL

SELECT COUNT(*) FROM STUDENT WHERE ADDRESS IS NOT NULL;

BETWEEN AND 范围查询

BETWEEN AND范围查询:根据一个范围值来检索

SELECT  字段1,字段2 ,…FROM 表名 WHERE   字段x  BETWEEN  1 AND  2

#查询课程表中课时在110120之间的所有记录

 SELECT * FROM subject WHERE classhour BETWEEN  110 AND 120;

#等同于:

 SELECT * FROM subject WHERE classhour >= 110 AND classhour <=120;

LIKE 模糊查询

在 WHERE 子句中,使用 LIKE 关键字进行模糊查询

  • 与 “%” 一起使用,表示匹配 0 或任意多个字符
  • 与 “_” 一起使用,表示匹配 单个字符

#LIKE模糊查询
#查询学生表中王姓的学生信息
SELECT * FROM STUDENT WHERE STUDENTNAME LIKE '王%';
#查找名字以“三”结尾的学生信息
SELECT * FROM STUDENT WHERE STUDENTNAME LIKE '%三';
#查找名字有“十”的学生信息
SELECT * FROM STUDENT WHERE STUDENTNAME LIKE '%十%';
#查询李姓,名字为两个字的学生信息
SELECT * FROM STUDENT WHERE STUDENTNAME LIKE '李_';

使用 IN 进行范围查询

WHERE子句中使用IN进行范围查询

  • 查询的字段 x 的值,至少与括号中的一个值相同
  • 多个值之间用英文逗号隔开

SELECT  字段1,字段2 ,…FROM 表名 WHERE   字段x  IN  ( 1,2,3…n)

MySQL中的函数

MySQL中的函数将一些常用的处理数据的操作封装起来,这样大大简化了程序员的工作,提高了开发效率

MySQL中常用的函数

  • 聚合函数
  • 字符串函数
  • 日期时间函数
  • 数学函数
1.聚合函数

#聚合函数
SELECT * FROM RESULT;
#查询张三(10000)的平均考试成绩
SELECT AVG(STUDENTRESULT) FROM RESULT WHERE STUDENTNO=10000;
#查询张三(10000)的考试次数
SELECT COUNT(1) FROM RESULT WHERE STUDENTNO=10000;
#查询学生表中一共有多少个学生
SELECT COUNT(*) FROM STUDENT;
#查询有地址的学生人数
#count(1)、count(*)都是查询全部行数
#count(字段)只会统计该字段不为空的行数
SELECT COUNT(*) FROM STUDENT WHERE ADDRESS IS NOT NULL;
SELECT COUNT(ADDRESS) FROM STUDENT; #查询张三(10000)的考试最高分,最低分,总分
SELECT MAX(STUDENTRESULT),
MIN(STUDENTRESULT),
SUM(STUDENTRESULT)
FROM RESULT WHERE STUDENTNO=10000;
2.数学函数

3.字符串函数

#在某个字段前或后添加内容
SELECT CONCAT('中国',ADDRESS) FROM STUDENT;#查询学生信息的邮箱前五位SUBSTRING()字符串截取
SELECT SUBSTRING(EMAIL,1,5) FROM STUDENT;#获取一个唯一序列
SELECT UUID() FROM DUAL;#生成一个唯一序列并去掉这个唯一序列中的-
SELECT REPLACE(UUID(),'_','') FROM DUAL;
4.日期时间函数

#获取系统当前时间
SELECT NOW() FROM DUAL;
#获取系统当前时间两天后的时间
SELECT ADDDATE (NOW(),2)  FROM DUAL;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/604533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS3(Flex布局详解)

Flex 基本概念&#xff1a; 在 flex 容器中默认存在两条轴&#xff0c;水平主轴(main axis) 和垂直的交叉轴(cross axis)&#xff0c;这是默认的设置&#xff0c;当然你可以通过修改使垂直方向变为主轴&#xff0c;水平方向变为交叉轴&#xff0c;这个我们后面再说。 在容器中…

vue3学习记录

vue3有选项式API&#xff08;和vue2一样保留this用法&#xff09;和组合式API&#xff08;没有了this的概念&#xff09;&#xff1b;选项式 API 是在组合式 API 的基础上实现的&#xff01; 增加了组合式api&#xff0c;利于代码逻辑的组合&#xff0c;相关联的逻辑汇集在一处…

UseContentHash选项能否在打包AssetBundle时计算可靠的Hash

1&#xff09;UseContentHash选项能否在打包AssetBundle时计算可靠的Hash 2&#xff09;如何清理Native Reserved部分的内存 3&#xff09;Addressables资源完整性校验 4&#xff09;通过Image.color和CanvasRenderer.SetColor修改UI组件颜色的区别 这是第368篇UWA技术知识分享…

C++垃圾回收机制

非托管C C 有垃圾收集&#xff0c;采用Hans-Boehm Garbage Collector的形式。也可能有其他垃圾收集库。 您可以使用使用RAII的智能指针&#xff08;如果指针允许共享访问&#xff0c;则使用引用计数&#xff09;来确定何时删除对象。一个好的智能指针库是Boost的智能指针。绝大…

问题 C: 求逆序对

题目描述 给定一个序列a1,a2,…,an&#xff0c;如果存在i<j并且ai>aj&#xff0c;那么我们称之为逆序对&#xff0c;求逆序对的数目。 注意&#xff1a;n<105&#xff0c;ai<105 输入 第一行为n,表示序列长度。 接下来的n行&#xff0c;第i1行表示序列中的第i…

【spring之条件评估器】

Spring条件评估器 1. ConditionEvaluator是干嘛的2. 先看其属性类ConditionContextImp context3. 看ConditionEvaluator 的内部方法4. AnnotationTypeMetadata 是干嘛的5. Condition 接口 1. ConditionEvaluator是干嘛的 内部的使用类,用来评估注解的 2. 先看其属性类Condition…

[Linux] 一文理解HTTPS协议:什么是HTTPS协议、HTTPS协议如何加密数据、什么是CA证书(数字证书)...

之前的文章中, 已经分析介绍过了HTTP协议. HTTP协议在网络中是以明文的形式传输的. 无论是GET还是POST方法都是不安全的. 为什么不安全呢? 因为: HTTP协议以明文的形式传输数据, 缺乏对信息的保护. 如果在网络中传输数据以明文的形式传输, 网络中的任何人都可以轻松的获取数据…

何为算法之什么是算法

前言 你相信算法吗&#xff1f;对于这个问题的答案&#xff0c;我们并不关心&#xff0c;因为无论你信不信&#xff0c;不可否认的是算法席卷了你我的生活。 通信聊天时词汇的联想输入、网络购物时商品的关联推荐和下班回家时家电的智能声控&#xff0c;其算法早己悄无声息地进…

Java学习苦旅(二十六)——反射,枚举和lamda表达式

本篇博客将讲解反射&#xff0c;枚举和lamda表达式。 文章目录 反射定义用途反射基本信息反射相关的类Class类Class类中相关的方法 反射示例反射的优缺点优点缺点 枚举背景及定义常用方法枚举优缺点优点缺点 Lambda表达式背景语法函数式接口定义基本使用 变量捕获Lambda在集合…

力扣(leetcode)第387题字符串中的第一个唯一字符(Python)

387.字符串中的第一个唯一字符 题目链接&#xff1a;387.字符串中的第一个唯一字符 给定一个字符串 s &#xff0c;找到 它的第一个不重复的字符&#xff0c;并返回它的索引 。如果不存在&#xff0c;则返回 -1 。 示例 1&#xff1a; 输入: s “leetcode” 输出: 0 示例 2:…

科学的摇篮 - 贝尔实验室

AT&T贝尔实验室&#xff08;AT&T Bell Laboratories&#xff09;是美国电信公司AT&T的研究与开发部门&#xff0c;成立于1925年。它在20世纪的许多年里一直是科学与技术创新的重要中心&#xff0c;做出了众多重大贡献&#xff0c;并为多项科技成就奠定了基础。以下…

Typescript 中创建对象的方式

1.type type MyObj {a: string;b: number;c: () > number; }; 2.interface interface MyObj {a: string;b: number;c: () > number; } 3. class class MyObj {a:string;b:number;c:()>number } // Error: Property staticProperty does not exist on type M.

Spring Boot应用启动时自动执行代码的五种方式

Spring Boot为开发者提供了多种方式在应用启动时执行自定义代码&#xff0c;这些方式包括注解、接口实现和事件监听器。在本篇博客中&#xff0c;我们将探讨一些常见的方法&#xff0c;以及如何利用它们在应用启动时执行初始化逻辑。 1. PostConstruct注解 PostConstruct注解…

嵌入式系统习题(考试相关)

文章目录 上一篇嵌入式系统概述ARM技术概述ARM指令Thumb指令集ARM程序设计 上一篇 嵌入式系统复习–基于ARM的嵌入式程序设计 嵌入式系统概述 嵌入式系统中常用的通信接口包括哪些&#xff1f; RS-232C串行通信接口&#xff0c;RS-422串行通信接口&#xff0c;RS-485串行通信…

【JAVA】Iterator 和 ListIterator 有什么区别?

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 在Java中&#xff0c;遍历集合是日常编程中常见的任务&#xff0c;而Iterator和ListIterator作为遍历集合的两个主要接口&#xff0…

application.properties 如何改成 application.yml

Convert YAML and Properties File 右键直接转换即可 Further Reading &#xff1a; idea 常用插件

【两阶段鲁棒】计及需求响应的多能互补微网两阶段鲁棒优化matlab

目录 1 主要内容 算例模型 目标函数 第一阶段 第二阶段 求解流程图 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《多能互补微网两阶段鲁棒优化调度研究》&#xff0c;在考虑风光不确定集的基础上提出采用计及DR响应的多能互补微网两阶段鲁棒备用调度模…

通信触发流程

该示例方案主要介绍如何通过建立的Modbus或TCP通信来实现触发方案、协议解析、发送事件和以及响应配置等功能。 需求&#xff1a;使用Modbus通信触发指定流程运行。 搭建思路&#xff1a;在接收事件中使用协议组装&#xff0c;比较规则选择上升沿&#xff0c;当接收到的值从其…

【华为OD真题 Python】考古学家

文章目录 题目描述输入输出示例1输入输出说明示例2输入输出说明示例3输入输出说明备注实现代码题目描述 有一个考古学家发现一个石碑,但是很可惜࿰

知识图谱之汽车实战案例综述与前瞻分析

知识图谱的前置介绍 什么是知识图谱 知识图谱本质(Knowledge Graph&#xff09;上是一种叫做语义网络(semantic network &#xff09; 的知识库&#xff0c;即具有有向图结构的一个知识库&#xff1b;图的结点代表实体&#xff08;entity&#xff09;或者概念&#xff08;con…