MySQL 系统学习 第二阶段 第三章 DQL(Data Query Language)第一节:SELECT 基础查询
📅 2026/7/7 15:33:49
👁️ 次浏览
第一节 什么是 DQLDQLData Query Language中文数据查询语言整个 DQL实际上只有一个命令SELECT以后所有查询都是SELECT ...例如查询学生。SELECT * FROM student;查询姓名。SELECT name FROM student;查询年龄。SELECT age FROM student;查询姓名和年龄。SELECT name, age FROM student;所以DQL 的核心就是 SELECT。第二节 准备数据后面所有例子都使用这张表。CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT, gender CHAR(1), score DECIMAL(5,2) );插入数据INSERT INTO student(name, age, gender, score) VALUES (Tom,20,M,88.5), (Jack,22,M,91.0), (Lucy,19,F,95.5), (Rose,21,F,86.0), (Mike,20,M,78.5);现在studentidnameagegenderscore1Tom20M88.52Jack22M91.03Lucy19F95.54Rose21F86.05Mike20M78.5第三节 查询所有数据这是最简单的。SELECT * FROM student;结果idnameagegenderscore1Tom20M88.52Jack22M91.03Lucy19F95.54Rose21F86.05Mike20M78.5*是什么意思很多新人不知道。*代表所有列例如studentid name age gender score全部查询。第四节 查询指定字段很多时候并不需要全部字段。例如只需要姓名。SELECT name FROM student;结果nameTomJackLucyRoseMike查询姓名年龄。SELECT name, age FROM student;结果nameageTom20Jack22Lucy19Rose21Mike20查询成绩。SELECT score FROM student;为什么企业不推荐SELECT *这是一个非常重要的面试题。很多初学者喜欢SELECT * FROM student;但是企业一般不推荐。原因有四个。原因一浪费网络带宽假设user有50 个字段。你登录只需要用户名 头像结果SELECT *数据库把50 个字段全部返回。浪费。原因二影响性能字段越多读取越慢。特别TEXTBLOB图片。更明显。原因三影响索引优化以后学习覆盖索引。你会知道很多时候SELECT *不能走最佳索引。而SELECT name可以。原因四代码维护困难今天user10 个字段。以后增加20 个字段。所有SELECT *都会返回新增字段。程序可能出问题。企业规范推荐SELECT name, age FROM student;而不是SELECT *第五节 给字段起别名AS例如查询姓名。SELECT name AS 姓名 FROM student;结果姓名TomJack英文SELECT name AS username FROM student;结果usernameTomJackAS可以省略。例如SELECT name username FROM student;也是正确。但是企业一般建议写AS可读性更好。第六节 查询常量SQL不仅查询字段。还可以查询常量。例如SELECT 100;结果100100查询字符串。SELECT Hello MySQL;结果Hello MySQLHello MySQL这在后续学习函数、表达式时会很有用。第七节 查询表达式SQL还能计算。例如SELECT 12;结果123查询成绩加10。SELECT name, score, score10 AS new_score FROM student;结果namescorenew_scoreTom88.598.5Jack91.0101.0Lucy95.5105.5注意这里只是查询结果变化。数据库里面没有修改。第八节 DQL 执行顺序初步认识很多人认为SQL从上往下执行。其实不是。例如SELECT name FROM student;真正MySQL大概执行FROM student ↓ 读取表 ↓ SELECT name ↓ 返回结果以后我们学习WHEREGROUP BYHAVINGORDER BY你会发现SQL 的书写顺序和执行顺序并不完全一致。本章知识总结SQL作用SELECT * FROM student;查询所有字段SELECT name FROM student;查询指定字段SELECT name, age FROM student;查询多个字段SELECT name AS username FROM student;字段别名SELECT 100;查询常量SELECT score 10 FROM student;查询表达式本章思考题请先思考再回答①SELECT *和SELECT name, age有什么区别为什么企业不推荐SELECT *SELECT *会返回所有字段而SELECT name, age只返回指定字段。企业通常不推荐使用SELECT *因为它会增加网络传输、降低查询效率、不利于索引优化并且在字段变更时容易引发维护和安全问题。②AS的作用是什么为什么很多公司仍然建议保留AS而不是省略AS用于给字段、表或计算结果设置别名方便阅读和使用。虽然 MySQL 允许省略AS但保留AS能提高 SQL 的可读性减少歧义因此企业开发通常建议显式写出。③ 为什么SELECT score 10并不会真正修改数据库中的数据SELECT score 10只是对查询结果进行计算并不会修改表中的实际数据。因为SELECT属于 DQL只负责读取数据真正修改数据需要使用UPDATE等 DML 语句。④ 为什么说 SQL 的书写顺序和执行顺序不一样目前这条 SQLSELECT name FROM student;MySQL 实际会先做什么SQL 的书写顺序是为了符合人类阅读习惯而数据库为了完成查询会按照逻辑执行顺序处理。以SELECT name FROM student为例MySQL 会先定位student表FROM再读取name字段SELECT最后返回结果。⑤ 如果以后使用 NestJS 的 TypeORMawait userRepository.find({ select: [name, age] });你觉得它最终可能生成什么 SQLTypeORM 的find()本质上会根据配置生成对应的SELECT语句。例如find({ select: [name, age] })通常会生成类似SELECT name, age FROM user;的 SQL。ORM 只是 SQL 的封装最终仍由数据库执行 SQL。
1. 项目背景与核心需求解析 在工业自动化和消费电子领域,直流电机因其结构简单、控制方便等优势被广泛应用。但传统PWM调速方案存在明显的电磁噪声问题,特别是在低速运行时,这种高频啸叫声会严重影响用户体验和设备寿命。这正是TB9051FTG驱动…
📅 2026/7/7 15:33:49
一、聚酯缩聚反应的粘度变化规律
聚酯(PET)是缩聚反应的典型产物——二元醇与二元酸通过酯化反应形成长链分子。随着反应进行,分子链不断增长,熔体粘度持续上升。特性粘度(IV值)是PET最终产品的核心质量指标…
📅 2026/7/7 15:31:48
如何快速掌握GitHub Desktop中文汉化:新手的终极实战指南 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese
还在为GitHub Desk…
📅 2026/7/7 15:31:48
Cats Blender 插件终极指南:5分钟完成VRChat模型优化的完整教程 【免费下载链接】cats-blender-plugin :smiley_cat: A tool designed to shorten steps needed to import and optimize models into VRChat. Compatible models are: MMD, XNALara, Mixamo, DAZ/Pose…
📅 2026/7/7 16:26:03
近期,字节跳动豆包正式官宣下线平台UGC自建智能体功能,叠加阿里通义千问、腾讯元宝等主流大模型平台的同类功能关停动作,国内消费级AI智能体迎来全面整改潮。根据豆包官方公告,UGC智能体功能将于7月15日正式停用,平台设…
📅 2026/7/7 16:26:03
1. 项目背景与核心需求在现代嵌入式系统设计中,电源管理模块往往决定了整个系统的稳定性和能效表现。随着处理器性能的提升和外设功能的丰富化,单一电压轨供电方案已经无法满足复杂系统的需求。以典型的STM32F446ZE应用为例,这颗基于ARM Cort…
📅 2026/7/7 16:26:02
1. 从Arduino到PIC:为什么选择PIC18F45K50驱动WS2812 三年前我第一次接触WS2812灯带时,用的还是Arduino Uno。那个蓝色的小板子确实让彩灯乖乖亮起来了,但当我试图实现更复杂的动画效果时,256字节的RAM和16MHz的主频很快就捉襟见肘…
📅 2026/7/7 16:26:02
LubanCat-5IO (RK3588) 编译安装 FFmpeg 硬编解码版,支持 MPP/RGA 硬件加速 本文介绍如何在野火 LubanCat-5IO(Rockchip RK3588)开发板上,从源码编译安装 ffmpeg-rockchip,启用 MPP 硬件编解码和 RGA 硬件滤镜…
📅 2026/7/7 16:26:02
飞腾D2000/D3000与Intel X86主板电源设计深度对比:实测数据与工程实践在国产化替代浪潮中,电源设计作为主板硬件开发的核心环节,直接影响系统稳定性与能效表现。本文将基于实测数据,从拓扑结构、电流需求、纹波控制等维度…
📅 2026/7/7 16:24:02
CentOS SSH连接故障排查:从基础检查到深度修复的完整指南引言当你尝试通过Xshell或其他SSH客户端连接CentOS服务器时,突然遭遇"Connection refused"或"Connection timed out"的错误提示,这种经历对任何运维人员或开发者来…
📅 2026/7/7 0:00:45
B站评论删除API逆向工程实战:关键参数解析与自动化操作指南1. 理解B站评论删除机制的核心逻辑在视频平台内容管理中,评论删除功能涉及复杂的权限验证和数据交互流程。B站的评论删除API采用了一套基于Web安全标准的防护机制,主要依赖三个关键参…
📅 2026/7/7 0:00:45
1. 项目概述:为什么Java安全是红蓝对抗的焦点在当前的网络安全攻防演练,也就是我们常说的红蓝对抗中,Java应用一直是双方交锋的核心战场。这不仅仅是因为Java在企业级应用、金融系统和大型互联网后台中无处不在,更因为其技术栈的复…
📅 2026/7/7 0:00:45
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/7 12:08:23
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/7 9:08:28
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/7 6:33:36
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/7 9:08:31
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/7 9:08:30
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/7 4:32:18