当前位置: 首页 > news >正文

零基础学习数据库SQL语句之查询表中数据的DQL语句

是用来查询数据库表的记录的语句

在SQL语句中占有90%以上

也是最为复杂的操作 最为繁琐的操作

DQL语句很重要很重要

初始化数据库和表

USE dduo;create table tb_emp(id int unsigned primary key auto_increment comment 'ID',username varchar(20) not null unique comment '用户名',password varchar(36) default '123456' comment '密码',name varchar(10) not null comment '姓名',gender tinyint unsigned not null comment '性别 说明:1 男 2 女',image varchar(300) comment '图像',job tinyint unsigned comment '职位 说明:1 班主任 2 讲师 3 学工主管 ',entrydata date comment '入职位时间',create_time datetime not null comment '创建时间',update_time datetime not null comment '修改时间'
)comment '员工表';INSERT INTO tb_emp VALUES
(1,'gaochang','123456','高畅',2,'1.jpg',1,'2000-01-01','2022-10-27 17:12:32','2022-10-27 17:12:32'),
(2,'luanzengxv','123456','栾增旭',1,'2.jpg',2,'2000-01-01','2022-10-27 17:12:32','2022-10-27 17:12:32'),
(3,'liuyan','123456','刘岩',1,'3.jpg',3,'2000-01-01','2022-10-27 17:12:32','2022-10-27 17:12:32');

基本语法

USE dduo;
-- 查询指定字段name entrydate并返回
select  name ,entrydata from tb_emp;-- 查询所有字段
#不推荐的方式 不直观 性能低 建议一个个的输入
select * from tb_emp;-- 查询name 并起别名(姓名)
-- 字段展示时会自动变化
select name as 姓名 from tb_emp;
select name 姓名 from tb_emp;
select name '姓名' from tb_emp;
select name '姓 名' from tb_emp;-- 查询员工一共有多少种密码 不能重复
select distinct tb_emp.password from tb_emp;

注意事项

*号表示查询所有字段 在实际开发中尽量少用 不直观而且影响效率

条件查询

在基本查询的基础上加上条件

我们主要学习的是条件的构建方式

 

USE dduo;-- 查询姓名为高畅的员工
SELECT * from user where name='高畅';-- 查询age小于等于20的员工
SELECT * from user where age<20;-- 查询age是null的员工信息
SELECT * from user where age is null;
SELECT * from user where age is not null;-- 查询age不等于19的信息
SELECT * from user where age!=19;-- 查询指定创建日期的员工信息
SELECT * from user where creat_time >='2024-01-01 ' and creat_time<='2024-12-12' ;
SELECT * from user where creat_time between '2024-01-01 ' and'2024-12-12'  ;-- 查询指定创建日期并且年龄为20的员工信息
SELECT *from user where  creat_time between '2024-01-01' and '2024-12-12' && age =20 ;
SELECT *from user where  creat_time between '2024-01-01' and '2024-12-12' and age =20  and name='高畅';-- 查询年龄是19或者20的员工信息
SELECT *from user where age=19 || age=20;
SELECT *from user where age=19 or age=20;
SELECT *from user where age in (19,20);-- 查询姓名为两个字符的员工信息 (模糊查询)
SELECT *FROM user WHERE name LIKE '__';
SELECT *FROM user WHERE name LIKE '___';-- 查询姓氏为高的员工
SELECT *FROM user WHERE name LIKE '高%' or '高%%';

注意事项

null 和 模糊查询的两个占位符

聚合函数

为分组查询打下基础

将一列数据作为一个整体 进行纵向运算

use dduo;
-- 聚合函数-- 统计该企业的员工数量 (非空字段)
-- 统计数据库中所有的数据量 建议使用count(*)
select count(name) from user;
select count('1') from user;
select count(*) from user;-- 统计最早更新日期的员工
select min(user.update_time) from user;
select max(user.update_time) from user;-- 统计更新日期的平均值
select avg(user.update_time) from user;-- 求年龄之和
select sum(user.age) from user;

注意事项

null值不参与所有的聚合函数的运算

统计数量可以使用:count(*) count(字段) count(常量)

推荐使用 count( * )

分组查询

use dduo;-- 根据年龄分组 统计各年龄的员工数量
select user.age,count(*) from user group by age ;-- 先查询更新时间 再根据年龄筛选 数量大于3的年龄
select age,count(*) from user where update_time< '2025-01-01' group by age having count(*)>2;

面试题  

注意事项

排列查询

use dduo;-- 根据更新时间 对员工进行升序排序
select *from user order by update_time asc;-- 降序排序
select *from user order by update_time desc;-- 根据创建时间对员工进行升序排列 如果相同 按照更新时间进行降序排序
select *from user order by creat_time asc ,update_time desc ;

注意事项

如果是多字段排序 当第一个字段值相同时 才会根据第二个字段进行排序

分页查询

use dduo;-- 分页查询-- 1.从起始索引0开始 开始查询员工数据 每页展示1条记录
select *from user limit 0,1;-- 查询第1页 员工数据每页展示2条记录
select *from user limit 2,2;-- 查询第2页 员工数据每页展示2条记录
select *from user limit 4,2;-- 查询第3页 员工数据每页展示2条记录
select *from user limit 6,2;-- 查询第4页 员工数据每页展示1条记录
select *from user limit 8,1;

起始索引 = (页码-1) * 每页展示的记录数

将来开发关系型数据库的时候

前端并不会把起始索引传递过来 而是传递页码

我们要换算成索引 在MySQL中书写SQL语句

相关文章:

零基础学习数据库SQL语句之查询表中数据的DQL语句

是用来查询数据库表的记录的语句 在SQL语句中占有90%以上 也是最为复杂的操作 最为繁琐的操作 DQL语句很重要很重要 初始化数据库和表 USE dduo;create table tb_emp(id int unsigned primary key auto_increment comment ID,username varchar(20) not null unique comment…...

C++语法|bind1st和bind2nd的用法

文章目录 What什么是&#xff1f;How什么时候用&#xff1f;如何用&#xff1f;bind1st和bind2nd的底层实现原理my_find_if分析myBind1st分析 What什么是&#xff1f; bind1st 和bind2nd分别是一个用来绑定函数对象的第一个参数或第二个参数的适配器。它在 C98 和 C03 标准中很…...

Zabbix+Grafana-常见报错及异常处理方式记录

文章目录 Zabbix安装篇Zabbix Web页面连接数据库失败 Zabbix使用篇中文显示不全 Zabbix报警篇新建的用户&#xff0c;配置报警后&#xff0c;无法收到报警 Grafana安装篇Windows系统安装时&#xff0c;添加zabbix报错&#xff1a;An error occurred within the plugin Zabbix安…...

一键转换,MP4视频变为MP3音频,只需这一行代码!

想要将珍藏的视频配乐提取出来&#xff1f;想把喜欢的电影原声变成音频&#xff1f;现在&#xff0c;只需一行代码&#xff0c;就能轻松将MP4视频转换为MP3音频&#xff01; 这篇文章将带你一步步完成转换&#xff0c;并详细解释每一步的操作&#xff0c;即使你是新手也能轻松…...

Oracle12之后json解析包怎么调用

在 Oracle 12g 及之后的版本中&#xff0c;Oracle 提供了对 JSON 的原生支持&#xff0c;使得在数据库中存储、查询和解析 JSON 数据变得更为简单。你可以使用 Oracle 提供的 SQL 函数和操作符来处理 JSON 数据。 以下是一些常用的 Oracle SQL 函数和操作符&#xff0c;用于解…...

wordpress子比主题美化-为图文列表封面添加动态缩略图特效 多种效果演示

wordpress子比主题-为图文列表文章封面添加动态缩略图特效 给自己子比主题加一个列表文章封面添加动态缩略图 直接复制以下代码&#xff0c;添加到主题自定义CSS代码中即可&#xff0c;下图为效果演示 wordpress子比主题-为图文列表文章封面添加动态缩略图特效 给自己子比主题…...

spring boot3多模块项目工程搭建-上(团队开发模板)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 多模块结构优缺点 模块介绍 Common 模块&#xff1a; API 模块&#xff1a; Web 模块&#xff1a; Service 模块&#xff1a; DAO 模块&#xff1a; 搭建步骤 1.创建 父…...

人脸美型SDK解决方案,适用于各类应用场景

视频内容已经成为企业宣传、产品展示、互动直播等多个领域的核心载体。而在这些场景中&#xff0c;高质量的人脸美型效果不仅能够提升用户体验&#xff0c;更能为品牌加分。美摄科技凭借深厚的技术积累和行业洞察&#xff0c;推出了全新的人脸美型SDK解决方案&#xff0c;为企业…...

RS2103XH 功能和参数介绍及规格书

RS2103XH 是一款单刀双掷&#xff08;SPDT&#xff09;模拟开关芯片&#xff0c;主要用于各种模拟信号的切换和控制。下面是一些其主要的功能和参数介绍&#xff1a; 主要功能特点&#xff1a; 模拟信号切换&#xff1a;能够连接和断开模拟信号路径&#xff0c;提供灵活的信号路…...

nn.TransformerEncoderLayer详细解释,使用方法!!

nn.TransformerEncoderLayer nn.TransformerEncoderLayer 是 PyTorch 的 torch.nn 模块中提供的一个类&#xff0c;用于实现 Transformer 编码器的一个单独的层。Transformer 编码器层通常包括一个自注意力机制和一个前馈神经网络&#xff0c;中间可能还包含层归一化&#xff…...

巨控GRM561/562/563/564Q杀菌信息远程监控

摘要 通过程序编写、手机APP画面制作等运行系统&#xff0c;实现电脑及手机APP显示的历史曲线画面和数据图形化的实时性。 不仅流程效率提升90%以上&#xff0c;同时为杀菌生产提供有利的质量保障&#xff0c;还有效规避因触屏及内存卡的突发异常导致历史数据的丢失&#xff0…...

RT-DETR-20240507周更说明|更新Inner-IoU、Focal-IoU、Focaler-IoU等数十种IoU计算方式

RT-DETR改进专栏|包含主干、模块、注意力、损失函数等改进 专栏介绍 本专栏包含模块、卷积、检测头、损失等深度学习前沿改进,目前已有改进点70&#xff01;每周更新。 20240507更新说明&#xff1a; ⭐⭐ 更新CIoU、DIoU、MDPIoU、GIoU、EIoU、SIoU、ShapeIou、PowerfulIoU、…...

Web3:下一代互联网的科技进化

随着科技的不断演进&#xff0c;互联网已经成为了我们生活中不可或缺的一部分。而在Web3时代&#xff0c;我们将会见证互联网进化的下一个阶段。本文将探讨Web3作为下一代互联网的科技进化&#xff0c;以及它所带来的重要变革和影响。 传统互联网的局限性 传统互联网存在诸多…...

SQL注入-基础知识

目录 前言 一&#xff0c;SQL注入是什么 二&#xff0c;SQL注入产生的条件 三&#xff0c;学习环境介绍 四、SQL注入原理 五&#xff0c;SQL中常用的函数 六&#xff0c;关于Mysql数据库 前言 在网络安全领域中&#xff0c;sql注入是一个无法被忽视的关键点&#xff0c…...

npx 有什么作用跟意义?为什么要有 npx?什么场景使用?

npx 是 npm 从 v5.2.0 开始新增了 npx 命令&#xff0c;> 该版本会自动安装 npx&#xff0c;如果不能使用就手动安装一下&#xff1a; $ npm install -g npxnpx 的作用 npm 只能管理包的依赖&#xff0c;npx 则可以快捷的运用包中的命令行工具和其他可执行文件&#xff0c…...

Docker搭建LNMP+Wordpress

目录 一.项目模拟 1.项目环境 2.服务器环境 3.任务需求 &#xff08;1&#xff09;使用 Docker 构建 LNMP 环境并运行 Wordpress 网站平台 &#xff08;2&#xff09;限制 Nginx 容器最多使用 500MB 的内存和 1G 的 Swap &#xff08;3&#xff09;限制 Mysql 容器写 /d…...

PCIE相关总结

1、概述 "PCIE 槽位" 指的是主板上的 Peripheral Component Interconnect Express &#xff08;外围设备互联扩展&#xff09;槽位。它是用于连接扩展卡&#xff08;如显卡、网卡、声卡等&#xff09;到主板的接口。PCI Express 是一种高速串行扩展总线标准&#xff…...

OpenCV 入门(五) —— 人脸识别模型训练与 Windows 下的人脸识别

OpenCV 入门系列&#xff1a; OpenCV 入门&#xff08;一&#xff09;—— OpenCV 基础 OpenCV 入门&#xff08;二&#xff09;—— 车牌定位 OpenCV 入门&#xff08;三&#xff09;—— 车牌筛选 OpenCV 入门&#xff08;四&#xff09;—— 车牌号识别 OpenCV 入门&#xf…...

C++基础-编程练习题2

文章目录 前言一、查找“支撑数”二、数组元素的查找三、爬楼梯四、数字交换五、找高于平均分的人 前言 C基础-编程练习题和答案 一、查找“支撑数” 【试题描述】 在已知一组整数中&#xff0c; 有这样一种数非常怪&#xff0c; 它们不在第一个&#xff0c; 也不在最后一个&…...

Linux下GraspNet复现流程

Linux&#xff0c;Ubuntu中GraspNet复现流程 文章目录 Linux&#xff0c;Ubuntu中GraspNet复现流程1.安装cuda和cudnn2.安装pytorch3.编译graspnetAPIReference &#x1f680;非常重要的环境配置&#x1f680; ubuntu 20.04cuda 11.0.1cudnn v8.9.7python 3.8.19pytorch 1.7.0…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...