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.hqwc.cn/news/329298.html

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

相关文章

Transformer - Attention is all you need 论文阅读

虽然是跑路来NLP&#xff0c;但是还是立flag说要做个project&#xff0c;结果kaggle上的入门project给的例子用的是BERT&#xff0c;还提到这一方法属于transformer&#xff0c;所以大概率读完这一篇之后&#xff0c;会再看BERT的论文这个样子。 在李宏毅的NLP课程中多次提到了…

玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 编译构建及此过程中的踩坑填坑(5)

接前一篇文章&#xff1a;玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 编译构建及此过程中的踩坑填坑&#xff08;4&#xff09; 上一回重走OpenHarmony的编译构建流程&#xff0c;完成了第2步——获取标准系统源码。本回继续往下进行。 这一步和之前并无不同&#xff0c;参考…

树低级(C语言版)

一.树基本计算规则 关于树的大部分知识点我们都讲过了&#xff0c;那么如果我给你树的节点&#xff0c;你可以算出叶子节点个数吗&#xff1f; 下面我们总结下一些计算规则&#xff1a; 1.父子计算规则&#xff1a; parent(child-1)/2; leftchildparent*21,rightchildpare…

听GPT 讲Rust源代码--compiler(32)

File: rust/compiler/rustc_middle/src/middle/exported_symbols.rs 在Rust的源代码中&#xff0c;rust/compiler/rustc_middle/src/middle/exported_symbols.rs文件的作用是实现编译器中处理导出符号的功能。 该文件中定义了一些结构体和枚举&#xff0c;用于描述导出符号的信…

[Android]RadioButton控件

RadioButton控件 RadioButton控件是单选按钮控件&#xff0c;它继承自Button控件&#xff0c;可以直接使用Button控件支持的各种属性和方法。 与普通按钮不同的是&#xff0c;RadioButton控件多了一个可以选中的功能&#xff0c;能额外指定一个android&#xff1a;checked属性…

python中的异常处理

目录 一&#xff1a;处理机制 二&#xff1a;实例 一&#xff1a;处理机制 Python中的异常处理主要通过try/except语句实现。try语句块包含可能会引发异常的代码&#xff0c;而except语句块包含在try块中发生异常时要执行的代码。此外&#xff0c;Python还提供了一个finally语…

维也纳整流电路笔记

不加前馈控制的波形&#xff1a; 加入前馈控制波形&#xff1a; 驱动波形中出现超宽脉冲波形&#xff1a; 仔细分析发现是原始驱动波形产生的。 移相180度后的波形&#xff0c;仍然存在此问题&#xff1a;

次梯度算法介绍

系列文章目录 最优化笔记&#xff0c;主要参考资料为《最优化&#xff1a;建模、算法与理论》 文章目录 系列文章目录一、次梯度1 定义2 存在性 二、次梯度的计算1 按定义计算2 常用计算规则 三、最优性条件1 无约束优化问题2 约束优化问题 四、次梯度算法1 迭代格式2 收敛性 参…

大数据技术架构

1 技术架构矩阵 大数据技术栈虽然比较多,但可以抽象为输入(数据接入)--处理(数据处理、数据分析)--输出(数据应用)。工作角色分工,数据处理以数据仓库开发人员为主,数据分析以数据分析师为主,其他所有组件、系统、技术相关归为数据平台。 2 数据源 大数据的数据来源…

线性规划基本原理与案例分析

线性规划(Linear Programming 简记LP)则是数学规划的一个重要分支。 什么叫做线性规划&#xff1f;一般来讲&#xff0c;目标函数和约束函数均是线性的叫做线性规划问题。线性规划必须满足以下三种基本性质 例1.1 某机床厂生产甲、乙两种机床&#xff0c;每台销售后的利润分别…

关键字:package关键字

在 Java 中&#xff0c;package关键字用于组织和管理类文件。它将类文件分组到不同的包中&#xff0c;以提供更好的代码组织和可读性。 以下是package关键字的用法&#xff1a; 1.package语句&#xff1a;在 Java 源代码的开头使用package关键字来声明当前类所属的包。例如&a…

Python从入门到网络爬虫(异常处理详解)

前言 异常即是一个事件&#xff0c;该事件会在程序执行过程中发生&#xff0c;影响了程序的正常执行。一般情况下&#xff0c;在python无法正常处理程序时就会发生一个异常。异常是python对象&#xff0c;表示一个错误。当python脚本发生异常时我们需要捕获处理它&#xff0c;…