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

SQL之DML(查询语句:select、where)

🎯 本文专栏:MySQL深入浅出
🚀 作者主页:小度爱学习

在这里插入图片描述

select查询语句

在开发中,查询语句是使用最多,也是CRUD中,复杂度最高的sql语句。

查询的语法结构

select *|字段1 [, 字段2 ……] from 表名称 [, 表名称2……] [where 条件] 
[group by 字段 [having 分组后的筛选]] 
[order by 字段 [desc|asc] [字段2 [desc|asc] ……]] 
[limit 分页]

简单的sql查询

-- 查询所有数据
select * from t_user;-- 查询需要的字段信息
select id, name, password from t_user;
-- 查询一个字段,一个等值条件
select name from t_user where id = 1;select 字段列表
from 表名称
where 条件/*等值查询
*/
select password from t_user where name="小度";
select * from t_user where age = 21;
alter table t_user add birthday datetime default now();
select * from t_user where birthday='2025-04-13 20:52:12';

select语句中的特殊情况:

对数值型数据列、变量、常量可以使用算数操作符创建表达式(+ - * /)
对日期型数据列、变量、常量可以使用部分算数操作符创建表达式(+ -)
运算符不仅可以在列和常量之间进行运算,也可以在多列之间进行运算。
select name,age*10 from t_user;
+----------+--------+
| name     | age*10 |
+----------+--------+
| 小度     |    210 |
| 小度3    |    170 |
| 小度4    |    190 |
| 张三     |    190 |
| xiaodu   |    190 |
| 小嘟     |    170 |
| 小嘟2    |    170 |
| xiaoxiao |   NULL |
| ls       |   NULL |
| zs       |   NULL |
+----------+--------+
10 rows in set (0.00 sec)补充:+ 说明
-- MySQL的+默认只有一个功能:运算符
SELECT 100+80; # 结果为180
SELECT '123'+80; # 只要其中一个为数值,则试图将字符型转换成数值,转换成功做预算,结果为203
SELECT 'abc'+80; # 转换不成功,则字符型数值为0,结果为80
SELECT 'This'+'is'; # 转换不成功,结果为0
SELECT 'This'+'30is'; # 猜测下这个结果是多少?依旧是30
SELECT NULL+80; # 只要其中一个为NULL,则结果为NULL

等值判断

条件中,出现了相等值的判断,一般采用=进行判断。

  • = 判断两次的值是否相等
  • is 判断空null
  • is not null来判断不为空
  • <=> 可以判断null或者普通值

不等判断

  • != 不等于
  • <>也是不等于

逻辑运算符

逻辑运算符是多条件关联的一种方式。

与或非

  • and
  • or
  • not

注意:在sql中,如果要提升条件的运行顺序,或者提高条件的优先级别,则需要使用括号来提升。

查询时的别名使用

查询时,将结果的显示字段,使用一个其他名称来代替,就是别名。

mysql> select count(*) from t_user;
+----------+
| count(*) |
+----------+
|       10 |
+----------+
1 row in set (0.01 sec)mysql> select count(*) as c from t_user;
+----+
| c  |
+----+
| 10 |
+----+
1 row in set (0.00 sec)mysql> select count(*) as 总人数 from t_user;
+--------+
| 总人数 |
+--------+
|     10 |
+--------+
1 row in set (0.00 sec)mysql> select count(*) 总人数 from t_user;
+--------+
| 总人数 |
+--------+
|     10 |
+--------+
1 row in set (0.00 sec)

常见的条件查询

使用WHERE子句限定返回的记录
WHERE子句在FROM 子句后SELECT[DISTINCT] {*, column [alias], ...}FROM table[WHEREcondition(s)];WHERE中的字符串和日期值
字符串和日期要用单引号扩起来
字符串是大小写敏感的,日期值是格式敏感的select name,age,password from t_user where name='xiaodu';WHERE中比较运算符:select name,age,password from t_user where age<25;其他比较运算符
使用BETWEEN运算符显示某一值域范围的记录select name,age,password from t_user where age between 20 and 25; SELECTlast_name, salary使用IN运算符使用IN运算符获得匹配列表值的记录select id,name,age,password from t_user where id in (5,6,7);使用LIKE运算符使用LIKE运算符执行模糊查询查询条件可包含文字字符或数字(%) 可表示零或多个字符( _ ) 可表示一个字符SELECT nameFROM t_userWHERE name LIKE '小%';使用IS NULL运算符查询包含空值的记录select id,name,age from t_user where age is null;逻辑运算符使用AND运算符AND需要所有条件都满足.    select * from t_user where age=19 and password='123456';使用OR运算符OR只要两个条件满足一个就可以  select * from t_user where age=19 or password='123456';使用NOT运算符NOT是取反的意思select * from t_user where age not in(19);使用正则表达式:REGEXP<列名> regexp '正则表达式'select * from t_user where age regexp '^1';

相关文章:

SQL之DML(查询语句:select、where)

&#x1f3af; 本文专栏&#xff1a;MySQL深入浅出 &#x1f680; 作者主页&#xff1a;小度爱学习 select查询语句 在开发中&#xff0c;查询语句是使用最多&#xff0c;也是CRUD中&#xff0c;复杂度最高的sql语句。 查询的语法结构 select *|字段1 [, 字段2 ……] from 表…...

Oracle--用户管理

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 用户管理在 Oracle 数据库中至关重要。一个服务器通常只运行一个 Oracle 实例&#xff0c;而一个 Oracle 用户代表一个用户群&#xff0c;他们通过该用…...

MYDB仿MySQL手写数据库项目总结

声明&#xff1a;该项目是一个开源项目&#xff0c;我是在学习该项目&#xff0c;该项目的github地址如下&#xff1a; MYDB项目地址&#xff1a;https://github.com/CN-GuoZiyang/MYDB MYDB项目采用C/S结构&#xff0c;支持启动一个服务器&#xff0c;并有多个客户端去连接…...

24.中医知识问答删除历史对话功能前端代码实现

前端实现对话删除功能的完整指南 功能概述 前篇文章介绍了删除历史对话的后端开发&#xff0c;本篇将介绍如何在前端实现一个完整的对话删除功能&#xff0c;包括用户确认、API调用、状态管理和错误处理等关键环节。 功能拆解 1. 用户确认机制 javascript const confirmDe…...

git忽略已跟踪的文件/指定文件

在项目开发中&#xff0c;有时候我们并不需要git跟踪所有文件&#xff0c;而是需要忽略掉某些指定的文件或文件夹&#xff0c;怎么操作呢&#xff1f;我们分两种情况讨论&#xff1a; 1. 要忽略的文件之前并未被git跟踪 这种情况常用的方法是在项目的根目录下创建和编辑.gitig…...

RAG(检索增强生成)、ReAct(推理与行动) 和 多模态AI 的详细解析,包括三者的定义、工作原理、应用场景及协同关系

以下是 RAG&#xff08;检索增强生成&#xff09;、ReAct&#xff08;推理与行动&#xff09; 和 多模态AI 的详细解析&#xff0c;包括三者的定义、工作原理、应用场景及协同关系&#xff1a; 一、RAG&#xff08;Retrieval-Augmented Generation&#xff09; 1. 核心原理 …...

6.QT-常用控件-QWidget|windowTitle|windowIcon|qrc机制|windowOpacity|cursor(C++)

windowTitle API说明windowTitle()获取到控件的窗⼝标题.setWindowTitle(const QString& title)设置控件的窗⼝标题. 注意!上述设置操作针对不同的widget可能会有不同的⾏为. 如果是顶层widget(独⽴窗⼝),这个操作才会有效. 如果是⼦widget,这个操作⽆任何效果. 代码⽰例…...

Excel/WPS表格中图片链接转换成对应的实际图片

Excel 超链图变助手&#xff08;点击下载可免费试用&#xff09; 是一款将链接转换成实际图片&#xff0c;批量下载表格中所有图片的转换工具&#xff0c;无需安装&#xff0c;双击打开即可使用。 表格中链接如下图所示&#xff1a; 操作方法&#xff1a; 1、双击以下图标&a…...

PostgreSQL基础

一、PostgreSQL介绍 PostgreSQL是一个功能强大的 开源 的关系型数据库。底层基于C实现。 PostgreSQL的开源协议和Linux内核版本的开源协议是一样的。。BDS协议&#xff0c;这个协议基本和MIT开源协议一样&#xff0c;说人话&#xff0c;就是你可以对PostgreSQL进行一些封装&a…...

win11修改文件后缀名

一、问题描述 win11系统中&#xff0c;直接添加.py后缀后仍然是txt文本文件 二、处理方式&#xff1a; 点击上方三个小点点击“选项”按钮 点击“查看”取消“隐藏已知文件类型的扩展名”选项点击“应用” 此时&#xff0c;“.txt”文件后缀显示出来了。将txt删去&#xff0c…...

【python实用小脚本系列】用Python打造你的专属智能语音助手

用Python打造你的专属智能语音助手 在科技飞速发展的今天&#xff0c;语音助手已经成为了我们生活中的“小帮手”。无论是苹果的Siri&#xff0c;还是亚马逊的Alexa&#xff0c;它们都能通过语音指令帮我们完成各种任务。今天&#xff0c;我来给大家分享一个用Python打造的简单…...

《Java工程师面试核心突破》专栏简介

《Java工程师面试核心突破》专栏简介 &#x1f525; 大厂Offer收割机 | 源码级技术纵深 | 90%高频考点覆盖 专栏定位 「拒绝八股文&#xff0c;直击技术本质」 本专栏专为Java中高级工程师量身定制&#xff0c;通过6大核心模块、30个硬核专题&#xff0c;系统性拆解大厂面试…...

Navicat连接数据库密码忘了如何解析

1、首先打开Navicat导出密码 打开文件---》导出链接----》选择连接并勾选导出密码 2、用编辑器打开复制密码 把password后面的密码复制出来 3、打开php编辑器&#xff0c;我这边因为平时不用就在网上找了一个在线编辑器 地址: https://www.w3cschool.cn/tryrun/runcode?la…...

OpenStack Yoga版安装笔记(22)Swift笔记20250418

一、官方文档 https://docs.openstack.org/swift/yoga/admin/objectstorage-components.html#https://docs.openstack.org/swift/yoga/admin/objectstorage-components.html# 二、对象存储简介&#xff08;Introduction to Object Storage&#xff09; OpenStack 对象存储&a…...

基于若依的ruoyi-vue-plus的nbmade-boot在线表单的设计(七)后端方面的设计

希望大家一起能参与我的新开源项目nbmade-boot: 宁波智能制造低代码实训平台 主要目标是类似设计jeecgboot那样的online表单功能,因为online本身没有开源这部分代码,而我设计这个是完全开源的,所以希望大家支持支持,开源不容易。 今天主要是讲后端部门之前漏的文件。 下面主…...

18、TimeDiff论文笔记

TimeDiff **1. 背景与动机****2. 扩散模型基础****3. TimeDiff 模型****3.1 前向扩散过程****3.2 后向去噪过程** 4、TimeDiff&#xff08;架构&#xff09;原理训练推理其他关键点解释 DDPM&#xff08;相关数学&#xff09;1、正态分布2、条件概率1. **与多个条件相关**&…...

【Rust 精进之路之第11篇-借用·实践】切片 (Slices):安全、高效地引用集合的一部分

系列: Rust 精进之路:构建可靠、高效软件的底层逻辑 作者: 码觉客 发布日期: 2025年4月20日 引言:不止整个借用,我们还能“借”片段! 在上一篇【借用规则】中,我们深入理解了 Rust 的引用 (&T, &mut T) 和借用规则。我们知道,引用允许我们在不获取所有权的情…...

Linux环境下使用ADB命令做嵌入式开发

介绍 adb一般是给Android开发用的&#xff0c;但是换个思路也能做嵌入式Linux开发 安装 以Ubuntu20.04为例 sudo apt install android-tools-adb android-tools-fastboot安装成功可以查看adb版本号 命令 查看adb设备 登录shell 上传文件到设备指定目录 拉取设备上的文件到…...

Ubuntu20.04安装Pangolin遇到的几种报错的解决方案

1.添加两个编译选项 /usr/include/OpenEXR/half.h:121:13: note: because ‘half’ has user-provided ‘half& half::operator(half)’121 | half & operator (half h);| ^~~~~~~~ 解决方案&#xff1a; 在CMakeList中添加以下两句&#xff1a; …...

SQL问题分析与诊断(8)——分析方法2

8.4. 方法 8.4.2. 目测评估方法 8.4.2.1. 方法说明 与Oracle等其他关系库类似,SQL Server中,作为其最核心、最重要的组件之一,CBO内置了相当复杂而高级的模型和算法,当将SQL语句及其相关统计数据等信息作为参数输入其中后,CBO会对该SQL语句各候选查询计划及其中各节点的…...

自动驾驶最新算法进展

自动驾驶技术的算法进展迅速&#xff0c;涵盖感知、预测、规划、端到端学习等多个领域。以下是2023年至2024年的关键进展及实例&#xff1a; 1. ‌感知与融合‌ ‌BEVTransformer的进化‌&#xff1a;特斯拉的Occupancy Networks升级至支持动态场景建模&#xff0c;结合NeRF技术…...

深度学习方向急出成果,是先广泛调研还是边做实验边优化?

目录 有限资源下本科生快速发表深度学习顶会论文的实战策略 1.短周期内可出成果的研究路径 2.论文阅读与复现的优先顺序 3.无一对一指导时的调研与实验组织 4.成功案例&#xff1a;本科生顶会论文经验 5.快速上手的研究子方向推荐 大家好这里是AIWritePaper官方账号&…...

级联vs端到端、全双工、轮次检测、方言语种、商业模式…语音 AI 开发者都在关心什么?丨Voice Agent 学习笔记

编者按&#xff1a; A16Z在《AI Voice Agents: 2025 Update》中提到&#xff1a; 语音是 AI 应用公司最强大的突破之一。 它是人类沟通中最频繁&#xff08;也是信息密度最高的&#xff09;形式&#xff0c;AI 也让其首次变得“可编程”。 在13期Z沙龙&#xff0c;我们聚焦AI…...

阿里云镜像加速仅支持阿里云产品了

最近在拉取docker镜像时一直报超时的错误&#xff1a; docker pull hello-world Using default tag: latest Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exce…...

深入理解 DML 和 DQL:SQL 数据操作与查询全解析

深入理解 DML 和 DQL&#xff1a;SQL 数据操作与查询全解析 在数据库管理中&#xff0c;SQL&#xff08;结构化查询语言&#xff09;是操作和查询数据的核心工具。其中&#xff0c;DML&#xff08;Data Manipulation Language&#xff0c;数据操作语言&#xff09; 和 DQL&…...

05--MQTT物联网协议

一、MQTT的概念 MQTT 协议快速入门 2025&#xff1a;基础知识和实用教程 | EMQ 1.MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级、基于发布-订阅模式的消息传输协议&#xff0c;适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它…...

学习设计模式《二》——外观模式

一、基础概念 1.1、外观模式的简介 外观模式的本质是【封装交互、简化调用】&#xff1b; 外观模式的说明&#xff1a;就是通过引入一个外观类&#xff0c;在这个类里面定义客户端想要的简单方法&#xff0c;然后在这些方法里面实现&#xff1b;由外观类再去分别调用内部的多个…...

永磁同步电机控制算法-VF控制

一、原理介绍 V/F 控制又称为恒压频比控制,给定VF 控制曲线 电压是频率的tt例函数 即控制电压跟随频率变化而变化以保持磁通恒定不变。 二、仿真模型 在MATLAB/simulink里面验证所提算法&#xff0c;搭建仿真。采用和实验中一致的控制周期1e-4&#xff0c;电机部分计算周期为…...

qt 配置 mysql 驱动问题:Cannot load library qsqlmysql;QMYSQL driver not loaded

项目场景&#xff1a; 环境版本&#xff1a; qt &#xff1a;5.14.2 mysql&#xff1a;8.0 windows&#xff1a;10 提示&#xff1a;qt 配置 mysql 驱动&#xff1a; 项目场景&#xff1a;qt 配置 mysql 驱动 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a;…...

MyBatis-Plus 实战:优雅处理 JSON 字段映射(以 JSONArray 为例)

&#x1f3af;MyBatis-Plus 实战&#xff1a;优雅处理 JSON 字段映射&#xff08;以 JSONArray 为例&#xff09; &#x1f468;‍&#x1f4bb; 作者&#xff1a;William Dawson &#xff5c;&#x1f4c5; 更新日期&#xff1a;2025-04-21 &#x1f680; 标签&#xff1a;MyB…...