这里写目录标题

  • 一、DML
    • 1、INSERT语句
      • 1)、给指定列添加数据
      • 2)、给全部列添加数据
      • 3)、批量数据添加数据
      • 4)、操作
    • 2、UPDATE语句
    • 3、DELETE语句
  • 二、DQL
    • 1、单表查询
      • 1)查询语法
      • 2)查询全部
      • 3)查询部分
      • 4)条件查询
      • 5)聚合函数
      • 6)排序查询
      • 7)分组查询
      • 8)分页查询

一、DML

1、INSERT语句

1)、给指定列添加数据

-- 标准语法
INSERT INTO 表名(列名1,列名2,...) VALUES (1,2,...);

2)、给全部列添加数据

-- 标准语法
INSERT INTO 表名 VALUES (1,2,3,...);

3)、批量数据添加数据

-- 默认添加所有列数据 标准语法
INSERT INTO 表名 VALUES (1,2,3,...),(1,2,3,...),(1,2,3,...);

4)、操作

#给指定列添加数据
insert into product(ID,NAME,PRICE,BRAND,STOCK) values(1,'YU7','32.99','小米','2');#默认全部列添加数据,注意插入数据要匹配表的字段数
insert into product VALUES(1,'SU7','30.99','小米','10','2025-07-10');#批量添加数据
insert into product(ID,NAME,PRICE,BRAND,STOCK) values
(1,'X1','22.99','宝马','4'),
(1,'X3','32.99','宝马','5'),
(1,'X5','42.99','宝马','6');insert into product values
(1,'GLA','25.99','奔驰','10','2025-07-10'),
(1,'GLB','28.99','奔驰','10','2025-07-10'),
(1,'GLC','33.99','奔驰','10','2025-07-10'),
(1,'GLE','63.99','奔驰','10','2025-07-10');

注意:

  • 列名和值的数量以及数据类型要对应
  • 除了数字类型,其他数据类型的数据都需要加引号(单双引号都可以,推荐单引号)

2、UPDATE语句

-- 标准语法
UPDATE 表名 SET 列名1 =1,列名2 =2,... [where 条件];
-- 标准语法
update product set CREATETIME = '2025-07-11' where BRAND = '宝马';

注意:

  • 修改语句中必须加条件
  • 如果不加条件,则将所有数据都修改(慎重)

3、DELETE语句

-- 标准语法
DELETE FROM 表名 [WHERE 条件];

注意:

  • 修改语句中必须加条件
  • 如果不加条件,则将所有数据都修改
  • 如果在生产环境使用update和delete命令一定要慎重

二、DQL

1、单表查询

1)查询语法

select字段列表
from表名列表
where条件列表
group by分组字段
having分组之后的条件
order by排序
limit分页限定

2)查询全部

-- 标准语法
SELECT * FROM 表名;--查询product表中所有数据
select * from product

注意:

  • 在代码开发中不要用select * ,因为对性能,查询速度都有影响。

3)查询部分

  • 多个字段查询
-- 标准语法
SELECT 列名1,列名2,... FROM 表名;-- 查询名称、价格、品牌
select name,price,brand from product
  • 去重查询
    去重查询关键字:distinct,这是sql中常用的关键字。
-- 标准语法
SELECT DISTINCT 列名1,列名2,... FROM 表名;
--查询品牌
select distinct brand from product
--查询名称以及品牌
select distinct name,brand from product

在这里插入图片描述
在这里插入图片描述
从上面两个结果可以看出:

  • 对单列使用distinct去除重复值时,会过滤掉多余重复相同的值,只返回唯一的值。
  • 对多列数据进行去重处理,只需在DISTINCT关键字后依次列出需要去重的字段名,并用英文逗号隔开即可。
  • 计算列的值(四则运算)
-- 标准语法
SELECT 列名1 运算符(+ - * /) 列名2 FROM 表名;

计算列的值
标准语法:
SELECT 列名1 运算符(+ - * /) 列名2 FROM 表名;

如果某一列为null,可以进行替换
ifnull(表达式1,表达式2)
表达式1:想替换的列
表达式2:想替换的值
  • 起别名
-- 标准语法
SELECT 列名1,列名2,... AS 别名 FROM 表名;
-- 查询商品名称和库存,库存数量在原有基础上加10。进行null值判断。起别名为getSum
SELECT NAME,IFNULL(stock,0)+10 AS getsum FROM product;

4)条件查询

  • 条件分类
项目Value
>大于
<小于
>=大于等于
<=小于等于
=等于
<> 或 !=不等于
BETWEEN … AND …在某个范围之内(都包含)
IN(…)多选一
LIKE 占位符模糊查询 _单个任意字符 %多个任意字符
IS NULL是NULL
IS NOT NULL不是NULL
AND 或 &&并且
OR 或 ||或者
NOT 或 !非,不是
  • 条件查询优先级
  1. 括号:括号的条件会被优先处理。
  2. 逻辑运算符:and 、or
  3. 比较运算符:=,<>,!=,>,<>=,<=
  4. between和in
  5. like
  6. is null
  7. exists
  8. order by
  9. limit
  • 条件查询语法
-- 标准语法
SELECT 列名 FROM 表名 WHERE 条件;
-- 查询库存大于20的商品信息
select * from product where STOCK >20-- 查询品牌为宝马的商品信息
select * from product where BRAND ='宝马'-- 查询金额在30~ 50之间的商品信息
select * from product where PRICE between 30 and 50;
select * from product where PRICE >30 and PRICE <50;-- 查查询库存为14,15,16的商品信息
select * from product where stock in (14,15,16);-- 查询库存为null的商品信息
select * FROM product where stock is null; -- 查询库存不为null的商品信息
select * FROM product where stock is not null; -- 查询名称以小米为开头的商品信息
SELECT * FROM product WHERE NAME LIKE '小米%';-- 查询名称第二个字是马的商品信息
select * from product where brand like '_马%'-- 查询名称为四个字符的商品信息
select * from product where brand like '____'

5)聚合函数

将一列数据作为一个整体,进行纵向的计算

项目Value
count(列名)统计数量(一般选用不为null的列)
max(列名)最大值
min(列名)最小值
sum(列名)求和
avg(列名)平均值
  • 聚合函数语法
-- 标准语法
SELECT 函数名(列名) FROM 表名 [WHERE 条件];-- 计算product表中总记录条数
SELECT COUNT(*) FROM product;-- 获取最高价格
SELECT MAX(price) FROM product;
-- 获取最高价格的商品名称
SELECT NAME,price FROM product WHERE price = (SELECT MAX(price) FROM product);-- 获取最低库存
SELECT MIN(stock) FROM product;
-- 获取最低库存的商品名称
SELECT NAME,stock FROM product WHERE stock = (SELECT MIN(stock) FROM product);-- 获取总库存数量
SELECT SUM(stock) FROM product;
-- 获取品牌为苹果的总库存数量
SELECT SUM(stock) FROM product WHERE brand='苹果';-- 获取品牌为小米的平均商品价格
SELECT AVG(price) FROM product WHERE brand='小米';

6)排序查询

  • 排序分类
    • 多个排序条件,当前边的条件值一样时,才会判断第二条件
    • 对指定列排序,ASC升序(默认的) DESC降序
  • 排序语法
-- 标准语法
SELECT 列名 FROM 表名 [WHERE 条件] ORDER BY 列名1 排序方式1,列名2 排序方式2;-- 按照库存升序排序asc可省略
select * from product order by stock;-- 查询名称中包含小米的商品信息。按照金额降序排序
select * from product where brand like '%小米%' order by price des
-- 按照金额升序排序,如果金额相同,按照库存降序排列
select * from product order by price,stock desc;

7)分组查询

-- 标准语法
SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式];-- 按照品牌分组,获取每组商品的总金额
SELECT brand,SUM(price) FROM product GROUP BY brand;-- 对金额大于30元的商品,按照品牌分组,获取每组商品的总金额
SELECT brand,SUM(price) FROM product WHERE price > 4000 GROUP BY brand;-- 对金额大于30元的商品,按照品牌分组,获取每组商品的总金额,只显示总金额大于70的
select brand ,SUM(price) AS getSum from  product where PRICE >30 group by brand having getSum >70;-- 对金额大于40元的商品,按照品牌分组,获取每组商品的总金额,只显示总金额大于70元的、并按照总金额的降序排列
select brand ,SUM(price) AS getSum from  product where PRICE >30 group by brand having getSum >70 order by getSum Desc;

8)分页查询

-- 标准语法
SELECT * FROM 表名 LIMIT (页码-1)*每页数量, 每页数量;
-- 公式:开始索引 = (当前页码-1) * 每页显示的条数-- 每页显示2条数据
SELECT * FROM product LIMIT 0,2;  -- 第一页 开始索引=(1-1) * 2
SELECT * FROM product LIMIT 2,2;  -- 第二页 开始索引=(2-1) * 2
SELECT * FROM product LIMIT 4,2;  -- 第三页 开始索引=(3-1) * 2
SELECT * FROM product LIMIT 6,2;  -- 第四页 开始索引=(4-1) * 2

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

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

相关文章

在 Linux 系统中实现 Spring Boot 程序自动启动的最佳实践

在实际部署 Spring Boot 项目的生产环境中&#xff0c;如何确保服务自动启动&#xff08;如开机自动运行、宕机自动恢复&#xff09;是一项基础而关键的运维能力。本文将系统介绍如何在 Linux 中将 Spring Boot 应用注册为 systemd 服务&#xff0c;实现进程守护与自动启动。&a…

如何建立项目团队的自驱力文化?

建立项目团队的自驱力文化&#xff0c;关键在于赋权机制、目标共创、持续反馈、内在激励、价值认同。 其中&#xff0c;“目标共创”尤其重要。项目成员若未参与目标制定&#xff0c;仅被动接受任务&#xff0c;将很难激发责任感和参与热情。反之&#xff0c;通过共创目标&…

【React Native】布局文件-底部TabBar

布局文件-底部tabBar 内容配置 export default function Layout() {return (<Tabs />); }默认会将布局文件是将与它在同一个目录的所有文件&#xff0c;包括下级目录的文件&#xff0c;全都配置成Tab了。&#xff1a; 这样做显然不对&#xff0c;正确的做法是 在app目…

CompareFace使用

CompareFace 使用 CompareFace 有三种服务&#xff0c;分别是人脸识别&#xff08;RECOGNITION&#xff09;、人脸验证&#xff08;VERIFICATION&#xff09;、人脸检测&#xff08;DETECTION&#xff09;。 人脸识别其实就是人脸身份识别(每张照片只有一个人脸)&#xff0c;…

APP测试之Monkey压力测试

&#xff08;一&#xff09;Monkey简介 Monkey意指猴子&#xff0c;顽皮淘气。所以Monkey测试&#xff0c;顾名思义也就像猴子一样在软件上乱敲按键&#xff0c;猴子什么都不懂&#xff0c;就爱捣乱。 Monkey 是 Android SDK 自带的命令行工具&#xff0c;它通过向系统发送伪…

时序大模型为时序数据库带来的变革与机遇

时序数据&#xff08;Time Series Data&#xff09;作为记录系统状态随时间变化的重要数据类型&#xff0c;在物联网、金融交易、工业监控等领域呈爆炸式增长。传统时序数据库专注于高效存储和查询时序数据&#xff0c;而时序大模型&#xff08;Time Series Foundation Models&…

深入核心:理解Spring Boot的三大基石:起步依赖、自动配置与内嵌容器

深入核心&#xff1a;理解Spring Boot的三大基石&#xff1a;起步依赖、自动配置与内嵌容器 摘要&#xff1a;在上一章&#xff0c;我们领略了Spring Boot带来的革命性开发体验。但魔法的背后&#xff0c;必有其科学的支撑。本章将带你深入Spring Boot的内核&#xff0c;系统性…

达梦数据库配置兼容MySQL

前言 作为一名数据库管理员或开发者&#xff0c;当项目需要从MySQL迁移到达梦数据库时&#xff0c;最关心的莫过于兼容性问题。达梦作为国产数据库的佼佼者&#xff0c;提供了良好的MySQL兼容模式&#xff0c;今天我就来分享一下如何配置达梦数据库以实现对MySQL的兼容。 一、为…

js与vue基础学习

vue创建项目 安装node安装node、npm、cnpm node -v npm -v #npm服务器位置处于国外&#xff0c;下载包的速度会比较缓慢。阿里为国内用户提供的cnpm&#xff0c;他是npm的镜像&#xff0c;下载第三方包时&#xff0c;们完全可以使用cnpm来替代npm。 cnpm -v在node中执行JavaScr…

【开源.NET】一个 .NET 开源美观、灵活易用、功能强大的图表库

文章目录一、项目介绍二、适用场景三、功能模块四、功能特点五、效果展示六、开源地址一、项目介绍 LiveCharts2 是一个开源、简单、灵活、交互式且功能强大的 .NET 图表库。LiveCharts2 现在几乎可以在任何地方运行&#xff1a;Maui、Uno Platform、Blazor-wasm、WPF、WinFor…

使用Whistle自定义接口返回内容:Mock流式JSON数据全解析

一.mock接口返回数据流程 定位目标接口 在Whistle的Network面板中找到需要Mock的接口&#xff0c;右键点击请求信息&#xff0c;选择COPY -> URL复制完整URL&#xff0c;确保URL路径精确到具体接口。准备Mock数据 点击对应接口&#xff0c;在右侧面板切换到response标签页&a…

【前端】富文本编辑器插件 wangEditor 5 基本使用(Vue2)

https://www.wangeditor.com/v5 一、安装 首先安装editor yarn add wangeditor/editor # 或者 npm install wangeditor/editor --save安装Vue2组件 yarn add wangeditor/editor-for-vue # 或者 npm install wangeditor/editor-for-vue --save或者Vue3 yarn add wangeditor/…

自适应哈希索引 和 日志缓冲区

目录 1. 自适应哈希索引在内存中的位置 2. 自适应哈希索引的作用 3. 为什么要创建自适应哈希索引 4. 适应哈希索引的Key -Value如何设置&#xff1f; 5. 日志缓冲区在内存中的位置 6. 日志缓冲区的作用 7. 日志不通过LogBuffer直接写入磁盘不行吗&#xff1f; 1. 自适应哈…

中国旅行社协会在京召开“文旅人工智能应用研讨会”,助力文旅创新发展

7月15日&#xff0c;由中国旅行社协会数字经济专业委员会和在线旅行服务商分会联合主办的“人工智能技术在文旅产业中的应用”研讨会在北京举行。中国旅行社协会副会长、秘书长孙桂珍出席并致辞&#xff0c;中国工程院外籍院士、具身智能机器人专家张建伟、北京第二外国语学院旅…

Linux之Zabbix分布式监控篇(一)

一、概念和特点概念Zabbix是一款开源、免费的监控软件 主要用于7*24*365实时监控网络设置&#xff0c;操作系统&#xff0c;应用程序&#xff0c;网络带宽等资源的运行状态&#xff0c;并且一旦发生异常能够第一时间个SA管理员发送报警信息特点Zabbix是c/s结构&#xff0c;有c…

ZYNQ千兆光通信实战:Tri Mode Ethernet MAC深度解析

—— 从硬件设计到Linux驱动的光通信创新实践** 当ZYNQ遇上光通信 在工业控制、医疗成像和航空航天等领域,抗干扰、长距离传输的光通信技术至关重要。Xilinx ZYNQ-7000系列凭借ARM+FPGA的架构,结合Tri Mode Ethernet MAC (TEMAC) 核心,为千兆光通信提供了完美解决方案。本文…

求不重叠区间总和最大值

例题链接&#xff1a;1051-习题-数学考试_2021秋季算法入门班第一章习题&#xff1a;模拟、枚举、贪心 来源&#xff1a;牛客网 时间限制&#xff1a;C/C/Rust/Pascal 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C/Rust/Pascal 32 M&#xff0c;其他语言64 M 64bit …

【Golang】GORM - GEN工具 快速开始

文章目录建项目建库建表main.gouser.gocompany.go生成效果&#xff08;更进一步&#xff09;自定义dynamic SQL实践官方地址&#xff1a;https://gorm.io/zh_CN/gen/index.html 以mysql为例 建项目 go mod init 项目名称 go mod tidy建库建表 建数据库demo&#xff0c;正常…

飞书 “打破” AI 与协同办公的「黑箱」

文 | 智能相对论作者 | 陈泊丞在协同办公领域&#xff0c;自从有了AI&#xff0c;微软、钉钉、Google Workspace、Salesforce、企业微信、飞书等厂商都试图通过深度整合AI技术&#xff0c;从智能会议、内容创作、数据管理等场景重构办公范式。微软通过Microsoft 365 Copilot将A…

leetcode:674. 最长连续递增序列[动归]

学习要点 练习动归注意不要马虎 题目链接 674. 最长连续递增序列 - 力扣&#xff08;LeetCode&#xff09; 题目描述 解法&#xff1a;动归 class Solution { public:int findLengthOfLCIS(vector<int>& nums) {int n nums.size();if(nums.size() < 1) …