MySQL——高级数据操作

29、MySQL 数据操作高级技巧 本文深入探讨了 MySQL 数据库中的高级数据操作技巧,包括使用 `CREATE TABLE` 语句复制表结构和数据、多表更新与删除的使用方法、以及 `REPLACE` 语句替换现有数据的场景与实现方式。文章还分析了不同操作的适用场景,总结了常见问题及解决方案,并通过实际案例展示了这些技巧在音乐数据库中的应用。通过学习这些高级操作,用户可以更高效地管理和维护 MySQL 数据库。 阅读详情

一    高级查询

1 去重复查询 distinct(字段名):distinct要放在要查询的字段的最前面。

  select distinct(sage) , sname from student;

2  限定行数的查询 limit  limit后面的参数是一个或两个

    limit  n 表示从第一行开始返回n行结果

    limit m,n表示从第m+1行开始返回n行结果,所以limit是可以实现数据分页的效果

3条件过滤

    1  单条件过滤:select  字段1,字段2  from  表名  where  字段3=值;

       这里最后面的关系运算符有:>  >= < <=   =   !=

     2  多条件过滤:select  字段1,字段2  from  表名  where  条件1  and或者or  条件2;

4  选择范围

    select *from  表名  where  字段  between m  and n;

    betweem后面的是一个闭区间即[ m, n ]

5  定义集合(这里的关键字是in/not in)

    select *from  表名  where  字段  in( l,m ,n);

    select *from  表名  where  字段  in( 22,24 ,25);查看年龄为22,24,25的学生的信息。

6模糊查询

select *from  表名  where  sname  like'_';

select *from  表名  where  sname  like'd%';所有以d开头 的

select *from  表名  where  sname  like'%a';所有以a结尾的

select *from  表名  where  sname  like'%a%';只要名字中有a的数据

select *from  表名  where  sname  like'_a%';查询名字中第二个字母是a的数据

关于like模糊查询,有两个关键字需要记住:

                                       _(下划线):代表任一一个字符,可能代表a也可能代表b...

                                       %(百分号):代表任意的n个字符,可能代表ab也可能代表abcd...

7处理空值数据

select *from  表名  where  sagel  is null;

    判断条件不能是字段=null,要写为字段 is null // is  not null;

8排序操作

使用order by排序时字段后面加上asc或desc     asc表示正序desc表示倒序

select *from  表名  order by sage asc;

select *from  表名  order by sage desc;

多次排序

select *from  表名  order by sage asc,sexx desc;

sql执行顺序:1执行from选表 2where条件过滤 3select选字段 4order by排序

二  聚合分组

2.1 聚合函数

SQL中提供的聚合函数可以用来求值,统计等

count():统计行数量(可以是某一个字段,也可以是某一个表)

sum():求某个列的和             如果指定列是字符串类型,那么使用字符串排序运算;

avg():求某个列的均值          如果指定列是字符串类型,那么使用字符串排序运算;

max():求某个列的最大值     如果指定列类型不是数值类型,那么计算结果为0;

min():求某个列的最小值      如果指定列类型不是数值类型,那么计算结果为0;

1,select count(计数对象) from  表名  where   条件;

count(*) 计数表的所有行,包括null值 :select count(*) as  con  from  表名  ;计算表的所有行记录,con是新起的别名。

count(*) 加where条件计数表的记录:select count(*) from  表名  where   sexx=0;计算有多少女生

count(字段) 计算有多少不重名女生  select count(distinct sname) as '人数' from  表名  where  sexx=0;//修饰的字段为参

2,计算年龄和 select  sum(sage) from student;

3,  计算平均年龄select  avg(sage) from student;

4,返回年龄最大最小的学生信息select  max(sage) , min(sage) from student;

2.2 分组 group by  

1,查询每个部门编号和每个部门的工资和:

    select deptno, sum(sal) from emp group by (deptno);

2, 查询每个部门的编号以及每个部门工资大于1500的人数:

   select deptno, count(*) from emp where sal>1500 group by deptno;

加入where条件执行顺序:where过滤——分组——聚合

后面也可以用having过滤如下:

2.3   聚合过滤 (实现在进行聚合后再执行过滤)

  • 查询工资总和大于9000的部门编号以及工资总和:
  • select deptno, sum(sal) from emp group by deptno having sum(sal)>9000;
  • 查询平均年龄大于22岁的不同学生
  • select sname, avg(sage) as  averege from student   group by (sname) having avg(sage)>22;

SQL顺序:执行from—where条件过滤—group by—执行select选择列—having条件过滤—order by排序—limit限定行数(分页)

注意: 

1. having是在分组聚合后对数据进行过滤,而where是在分组前对数据进行过滤 
2. having后面可以使用聚合函数(统计函数),where后面不可以使用聚合函数
凡是和聚合函数同时出现的列名,一定要写在group by 之后 即这里的sal   sname
group by 一般会合聚合函数配合使用,单独使用的时候意义不大

三 子查询

1在where中嵌套

 

 

 

 

 

 

 

 

 

 

MySQL基础与高级数据操作指南 本文深入探讨了MySQL的基础知识和高级数据操作技巧,包括如何通过命令行与MySQL数据库交互,创建和管理数据库及表格,使用SQL语句进行数据查询和操作,以及如何通过索引和事务提升数据库性能。此外,还介绍了SQL Server Management Studio (SSMS) 在数据库管理中的应用。... 阅读详情

相关推荐

FANUC机器人KAREL编程实战:手把手教你用SOCKET指令连接外部设备(附完整.KL文件)

本文详细解析了FANUC机器人KAREL编程中SOCKET指令的应用,从开发环境配置到工业级通讯全流程,涵盖网络参数设置、模块化代码设计、错误处理及现场调试技巧。通过实战案例,帮助开发者掌握与外部设备稳定连接的关键技术,提升工业自动化系统的通讯可靠性。

weixin_30907935的博客 226

order by 降序desc,升序asc,排名函数 rank()over()

order by 降序desc,升序asc按年龄降序select *from student order by age desc按年龄升序select *from student order by age asc排名函数 rank()over()的使用年龄降序排序,若排序字段相同,则排名相等select *,rank() over(order by age desc) as 排名 from stud

走到无路可退 1万+

智能座舱通信技术解析:从CAN总线到车载以太网与V2X

在汽车电子与智能网联快速融合的背景下,座舱智能化已不再是简单的屏幕堆砌,而是依赖底层通信技术构建的复杂系统。CAN总线因高可靠性与确定性传输,持续承担车身控制与安全信号的传递;车载以太网则凭借高带宽优势,成为多屏高清视频与OTA升级的核心通道;V2X车路协同技术进一步将座舱与外界的实时信息互联。理解这些技术的分工协作,是掌握智能座舱架构、开展座舱测试与故障排查的关键。本文从实际测试经验出发,梳理不同总线在座舱内部及外部的应用逻辑,结合低成本的实验台架搭建指南,展示从信号采集、网关转发到多媒体流传输的完整链路

weixin_29284657的博客 343

常用字符与Asc码对照表

有时候会忘记,就贴在上面,方便看看。

yanfei的世界 2475

YOLOv11火焰识别:从环境搭建到GUI部署的完整工程实践

目标检测是计算机视觉的核心任务之一,它通过定位和分类图像中的物体,为机器赋予“看懂”世界的能力。其原理通常基于深度学习模型,如YOLO系列,通过卷积神经网络提取特征并预测边界框与类别。这项技术的价值在于将算法能力转化为实际生产力,广泛应用于安防监控、工业质检、自动驾驶等场景。在工程实践中,环境配置的稳定性与数据质量往往决定项目成败,而模型部署的易用性直接影响最终用户体验。本文以火焰识别这一具体应用为切入点,详细解析了如何利用YOLOv11完成从零到产品化的全链路流程,其中涉及Conda虚拟环境管理、PyTo

weixin_29483277的博客 236

泛微 OA - 根据流程 requestid 获取流程中的附件

在泛微 OA 流程中,附件是通过加密上传的,如果在第三方系统想要调用 OA 系统获取 OA 附件,暂时没有很好的方法实现。但是可以在本地进行调用,得到附件信息,拿到这些信息后,可以用过 url 地址在本地下载。

小松鼠的博客 5829

mysql一行多列变成一列多行_MySql必备基础知识(一)

1 数据库概念(了解)1.1 什么是数据库数据库就是用来存储和管理数据的仓库!数据库存储数据的优先:可存储大量数据;方便检索;保持数据的一致性、完整性;安全,可共享;通过组合分析,可产生新数据。1.2 数据库的发展历程没有数据库,使用磁盘文件存储数据;层次结构模型数据库;网状结构模型数据库;关系结构模型数据库:使用二维表格来存储数据;关系-对象模型数据库;  MySQL就是关系型数据库!1.3 常...

weixin_39950057的博客 1162

AIAgent知识表示与推理:基于本体论与规则引擎的实现

AIAgent知识表示与推理:基于本体论与规则引擎的实现 1. 背景介绍 人工智能(AI)系统的核心是知识表示和推理,这是实现智能行为的基础。在过去的几十年里,人工智能领域一直致力于研究如何有效地表示和推理知识,以支持智能系统的决策和行为。其中,基于本体论的知识表示和

AI天才研究院 1493

sage mysql语句_MySQL简单查询语句练习

数据查询语法(DQL)DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。语法:SELECT selection_list /*要查询的列名称*/FROM table_list /*要查询的表名称*/WHERE condition /*行条件*/GROUP BY grouping_columns /*对结果分组*/HAVING condition /*分...

weixin_28987547的博客 279

YOLO26优化:FPN涨点&轻量化篇 |多级特征融合金字塔(HS-FPN),助力小目标检测

高层筛选特征金字塔网络(HS-FPN),能够刷选出大小目标,增强模型表达不同尺度特征的能力,助力小目标检测

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 331

想在 Visual Studio Code 里进行 ABAP 开发,需要安装的扩展列表

安装完毕后,我们可以将 SAP 系统配置为 Visual Studio Code 连接的远程文件系统。为了连接到 SAP 系统,需要启用 ABAP 开发工具 (ADT) ICF 节点,这与 SAP Hana Studio 等工具使用的服务相同。打开 SAP GUI 并连接到目标系统,运行事务 SICF,然后激活 ADT_SRV 服务,如下所示。这启用了允许代码编辑器和 IDE 连接到 SAP 系统的服务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3119

mysql sql语句简单查询笔记

/*简单查询*/ use school; select sno,sname,sage from student; select sno as "学号",sname "姓名",sage from student; select sno,sname,sage from student where ssex='男' and sage>20; select count(*), max(sage), min(sage), avg(sage), sum(sage), sum(sage)/count(*

qq_40468936的博客 296

【AI智能体】Claude Code 核心记忆文件 CLAUDE.md实战操作详解

Claude Code 核心记忆文件 CLAUDE.md实战操作详解

congge 5457

MySQL高级数据操作

MySQL是一个广泛使用的关系数据库管理系统。在这篇博客中,我们将探讨MySQL的高级数据操作功能。我们将讨论视图的创建和使用,存储过程和函数,触发器的设计和应用,事件调度器的使用,以及用户定义变量和临时表。每个主题都将包括代码示例,以帮助读者更好地理解和应用这些高级功能。MySQL支持用户定义变量,这些变量存储在用户会话中,并在会话结束时销毁。用户定义变量可以存储一个值,这个值可以在SQL语句中使用。临时表是一种特殊类型的表,只在当前会话中存在,当会话结束时,临时表将被自动删除。

Hhzzy99的博客 3195

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

MySQL数据库8(十二)高级数据操作

高级数据操作 新增数据 多数据插入 只要写一次insert指令,但是可以直接插入多条记录。 基本语法:insert into 表名 [(字段列表)] values(值列表),(值列表)…; 主键冲突 主键冲突:在有的表中,使用的是业务主键(字段有业务含义),但是往往在进行数据插入而的时候,又不能确定数据表中是否已经存在对应的主键。 主键冲突...

weixin_30641465的博客 93

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

MySQL高级查询和数据操作教程(第二阶段)

掌握中级MySQL查询和数据操作技能是进行数据库管理和操作的重要基础。本教程通过详细的示例和说明,帮助你理解和应用高级查询技巧、索引与视图、以及事务管理。继续深入学习,将提升你在数据分析和应用开发中的能力。

蜡笔小新星的博客 844

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

MySQL:高级数据操作

目录 高级数据操作 新增数据 更新数据 删除数据 高级数据操作 新增数据 多数据插入 只要写一次insert指令,但是可以直接插入多条记录 基本语法:insert into 表名 [(字段列表)] values(值列表),(值列表)…; 没写字段名时字段值从第一个开始写到最后一个,即使主键自增也必须写主键 添加时涉及主外键关系,要先添加主表再添加从表中的数据 主键冲突...

离开屏幕的光,哪盏灯照亮你的孤独? 274

mysql高级高级数据操作

mysql  插入高级操作 insert into  my_class values ('b1','111') -- 冲突处理 on duplicate key update  -- 更新教室 class = '222'; -- 主键冲突替换 replace into my_class values ('b1','333');

Heathqiu的专栏 1134

MySQL数据库8(十三)高级数据操作之select指令

MySQL数据库8(十三)高级数据操作之select指令 查询数据 完整的查询指令: select select选项 字段列表 from 数据源 where 条件 group by 分组 having 条件 order by 排序 limit 限制 select选项 系统该如何对待查询得到的结果: 1、all 默认的,表示保存所有的记录; 2、distinct:...

Better_YZQ的博客 288

MySQL学习笔记(6)--高级数据操作

·新增数据 ·多数据插入 insert into 表名 [(字段列表)] values (值),(值),(值); ·主键冲突 create table my_student( stu_id varchar(10) primary key, stu_name varchar(10) not null ); insert into my_student values('stu0001...

绿皮豚 466

03、Mysql 索引及高级数据操作

Mysql索引、以关系类型创建表、范式、数据的高级操作、蠕虫复制、Where子句、Group By子句、回溯统计、Having子句、Order By子句、Limit子句

未眠人的博客 358

mysql学习之路_高级数据操作

关系 将实体与实体的关系,反应到最终数据表的设计上来,将关系分为三种,一对多,多对多,多对多。 所有关系都是表与表之间的关系。 一对一: 一张表的一条记录一定只对应另外一张表的一条记录,反之亦然。 例 Id 姓名 ...

清华大咖 155

MySQL学习记录 【基本操作 → 数据操作 → 高级查询 → 联合查询】 总结

MySQL学习记录 【基本操作 → 数据操作 → 高级查询 → 联合查询】 总结数据库和表的基本操作—11. SQL命令分类2. 数据库操作2.1 MySQL 数据类型2.2 表结构操作3. MySQL增删改查3.1 CRUD二级目录三级目录 数据库和表的基本操作—1 1. SQL命令分类 DDL【Data Definition Language】数据定义语言,用来维护存储数据的结构代表指令: create, drop,alter;它的作用是做了一个数据库表的结构的创建和操作数据库结构的语言。数据库表为

weixin_46448719的博客 1556

MySQL 数据操作全解析:从基础语法到高级应用

本文详细介绍了 MySQL 中的数据操作语言(DML),涵盖了插入、更新和删除三大核心操作。通过丰富的实例演示了单表操作、多表关联操作的各种语法和适用场景。关键要点回顾插入操作:掌握多种插入方式,特别是安全的指定列插入和高效的批量插入更新操作:熟练运用各种关联更新技巧,理解不同 JOIN 方式的差异删除操作:谨慎使用删除操作,掌握级联删除的实现方式安全规范:始终遵循"先查询后操作"的原则,重要操作前做好备份进阶学习建议深入学习事务管理和隔离级别掌握存储过程和触发器的使用了解数据库性能优化技巧。

2501_93078354的博客 632

MySQL数据库学习教程四:高级查询与数据操作

在前面的教程中,我们已经学习了MySQL数据库的基础知识,包括创建数据库、表,以及进行基本的数据查询与过滤。今天,我们将继续深入学习MySQL的高级查询功能,以及如何对数据进行更新和删除操作。这些技能将使你能够更加灵活地处理数据库中的数据,满足更复杂的业务需求。

菜狗小测试 982
上一篇: MySQL二(引擎)
会飞的加西莫多
博客等级 码龄11年 1粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值