MySQL表中数据基本操作
1.表中数据的插入:
1.insert
insert [into] table_name [(column [,column]...)] values (value_list) [,(value_list)] ...
创建一张学生表:

1.1单行指定列插入:
insert into student (name,qq) values (‘张三’,’1234455’);

values左侧为要插入的列,右侧为插入对应列的数据。
1.2全列插入
也可以省略values左侧,表示全列插入,对表中每一列都需要指定数据。
insert into student values (10,’李四’,’12355555’);

单行插入和全列插入的into都可以进行省略。
1.3多行插入:
在一次insert语句后用逗号分隔,可以继续进行数据插入。
例:

2.插入否则更新
在进行数据插入时,可能会遇到主键冲突或者唯一键冲突,导致数据插入失败,因此可以选择性的进行同步更新操作。
insert ... on duplicate key update column=value [,column=value] ...
例如:
insert into student values (1,’张三三’,’11111111111’) on duplicate key update name=’张三三’,qq=’11111111111’;

表示插入数据,若存在键值冲突,则将插入数据转为对表中发生冲突的数据进行修改。若不存在键值冲突,则正常进行插入。
3.插入否则替换
当插入的数据出现冲突时,将表内数据进行替换,若没有冲突,则直接插入。
例:

2.表中数据的查询:
- select
- 1全列查询:
select * from student;

- 2指定列进行查询:
select id,name from student;

1.3在select时,可以进行运行操作:
如:select id,name,10+10+10 as result from student;

其中10+10+10 as result 表示将运算结构用result重命名的列表示,也可以直接使用:

也可以不带as:

- 4在select时还可对列进行重命名:

- 5结果去重:
select distinct name from student;
对选择的指定列进行去重筛选

2.where条件
通过比较运算符进行筛选

null就是null,和零无关,不能参与数字/字符比较。
判断是否为null用is null 或者is not null。
逻辑运算符:

通过运算符进行筛选:
id<12:

10<=id<=12:

也可以用between and:

id=1或者10,11:、

3.模糊匹配:
like ---找姓刘的同学,和李某(某代表只有一个字):


where 后面可以跟逻辑计算,但是不能对在select中重命名的列进行计算,因为是先执行from再执行where,最后执行select。
并且,不能在where后面的筛选条件进行重命名。
4.结果排序--order by
asc为升序(从小到大)
desc为降序(从大到小)
默认为asc排升序
没用order by字句的查询,返回的顺序是为定义的,不能依赖这个顺序。
例:
将id按升/降序显示:

null值比任何值都小。
order可以对select时使用的重命名进行排序,因为要对表结构进行排序,先要有合适的数据---由select进行筛选
5.筛选分页结果---limit
select ... from table_name [where ...] [order by ...] limit n;
默认起始下标为零表示从零开始,筛选n条结果;
select ... from table_name [where ...] [order by ...] limit s,n;
从s开始,筛选n条结果
例:


当对未知表进行查询时,最好加一条limit 1,避免因为表中数据过大,查询全表数据导致数据库卡死。
3.表中数据的更新
update:
update table_name set column=expr[,column =expr...]
[where ...] [order by ...] [limt ...]
对查询到的结果进行列值更新----根据where查询到的结果进行更新
例:

也可以同时改变多个值:

也可以配合order by,limit使用,将id为前三名的name都改为张三:

4.表中数据的删除:
1.delete:
delete from table_name [where ...] [order by ...] [limit ...]
例:

或删除整张表的数据:
delete from table_name;
若表中有auto_increment类型的列,其值不会因为数据的删除而发生改变。
2.截断表
truncate table_name
删除表中所有数据,同时也将auto_increment计算器的值置为零。
truncate是直接清空表数据,不走事物,无法回滚----不会记录在日志。
5.插入与查询的组合使用:
insert into table_name [(column,[,column ...])] select ...
将select后的结果进行插入
实际使用:对表中数据进行去重,将去重后的数据插入到新表:
创建一张和student一样的表:


注意:只有但id,name,qq都相同时才会进行去重,若对指定列去重,会使列显示不完整,导致插入失败。
去重完成后,可以通过rename进行替换。
6.聚合函数:

例子:
count:
select count (*) from student; ---统计数据个数

也可以对count(*)做重命名:

也可以先去重再统计:

sum:

avg:

max:

min:

7.分组查询
在select中使用group by子句可以对指定列进行分组查询。
实际分组是通过指定列中行的不同信息进行分组,组内的指定列的行信息相同。
------分组的目的是为了对分组后的组使用聚合函数进行查询。
select column1,column2,...from table group by column;
例:
建立表并向其中插入数据:

按组筛选最高工资和平均工资:

也可以加上属于哪个组:

分组,就是把一组按一定条件拆成了多个组,进行各自组内的统计。
group by 不止可对一列进行分组,可以同时对多列进行筛选,将多列行信息相同的数据放在一组进行统计。
having和group by联合使用:
对group by 后经过了聚合统计的结果进行条件筛选。

having 和where的区别?
where是对具体的任意列进行筛选,having是对分组聚合之和的结果进行筛选--------他们的条件筛选的阶段是不同的。
可以通过
select 列名,avg(列名) from 表名 where ... group by ... having ...
来分析:
- 执行from找到表中所有数据
- 通过where来筛选
- 将where筛选之后的数据交给group by分组
- 将分组之后的各组交给聚合函数(avg)进行统计,重命名等工作
- 将结果交给having进行条件筛选
不止开始创建的表为表,经过where筛选后的也是表,经过分组后的也是表。。。。
mysql一切皆表。
相关文章:
MySQL表中数据基本操作
1.表中数据的插入: 1.insert insert [into] table_name [(column [,column]...)] values (value_list) [,(value_list)] ... 创建一张学生表: 1.1单行指定列插入: insert into student (name,qq) values (‘张三’,’1234455’); values左…...
可狱可囚的爬虫系列课程 16:爬虫重试机制
一、retrying模块简介 在爬虫中,因为我们是在线爬取内容,所以可能会因为网络、服务器等原因导致报错,那么这类错误出现以后,我们想要做的肯定是在报错处进行重试操作,Python提供了一个很好的模块,能够直接帮…...
第十五届蓝桥杯----B组cpp----真题解析(小白版本)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 必看前言!!!!!一、试题A:握手问题1.题意分析2.代码解答 二、试题B:小球反弹1.题意…...
软考架构师笔记-数据库系统
1.7 数据库系统 三级模式-两级映射 三级模式 外模式:用户视图概念模式:只涉及描述内模式:存储方式的描述 两级映射 外模式-概念模式映射概念模式-内模式映射 数据库的设计 步骤 需求分析 输出为需求分析、数据流图(Data FLow Diagram-DF…...
Spring AI 1.0.0-M6 快速开始(一)
Spring AI 1.0.0-M6 入门一、存储库二、依赖管理完整maven 入门 Spring 是JAVA中我们经常使用的框架之一,Spring AI不断的发展迭代目前已经到M6版本据说上半年会出一个稳定版本。 本节提供了如何开始使用Spring AI的M6。 一、存储库 1.0 M6 -添加Spring存储库 需…...
go 分布式redis锁的实现方式
go 语言以高并发著称。那么在实际的项目中 经常会用到锁的情况。比如说秒杀抢购等等场景。下面主要介绍 redis 布式锁实现的两种高并发抢购场景。其实 高并发 和 分布式锁 是一个互斥的两个状态: 方式一 setNX: 使用 redis自带的API setNX 来实现。能解决…...
Unity中Stack<T>用法以及删除Stack<GameObject>的方法
Unity中Stack用法以及删除Stack的方法 介绍Stack<T>的APIStack<T> 常用方法创建和初始化 Stack<T>Push 和 Pop 操作Stack<T>遍历清空栈检查栈是否包含某个元素 栈的典型应用场景撤销操作深度优先搜索(DFS)注意事项 总结 介绍 因…...
Vue进阶之Vue3源码解析(二)
Vue3源码解析 运行runtime-coresrc/createApp.tssrc/vnode.ts.tssrc/renderer.ts runtime-domsrc/index.ts 总结 运行 runtime-core src/createApp.ts vue的创建入口 import { createVNode } from "./vnode";export function createAppAPI(render) {return funct…...
linux的文件系统及文件类型
目录 一、Linux支持的文件系统 二、linux的文件类型 2.1、普通文件 2.2、目录文件 2.3、链接文件 2.4、字符设备文件: 2.5、块设备文件 2.6、套接字文件 2.7、管道文件 三、linux的文件属性 3.1、关于权限部分 四、Linux的文件结构 五、用户主目录 5.1、工作目录…...
如何下载安装 PyCharm?
李升伟 整理 一、下载 PyCharm 访问官网 打开 PyCharm 官网,点击 "Download" 按钮25。 版本选择: 社区版(Community):免费使用,适合个人学习和基础开发。 专业版(Professional&#…...
3D空间曲线批量散点化软件V1.0正式发布,将空间线条导出坐标点,SolidWorks/UG/Catia等三维软件通用
软件下载地址: SolidWorks/UG/Catia等三维软件通用,3D空间曲线批量散点化软件V1.0正式发布,将空间线条导出坐标点 - 陶小桃Blog在三维设计领域,工程师常需将复杂空间曲线转化为离散坐标点以用于逆向工程、有限元分析、数控加工或…...
WPS AI+office-ai的安装、使用
** 说明:WPS AI和OfficeAI是两个独立的AI助手,下面分别简单讲下如何使用 ** WPS AI WPS AI是WPS自带AI工具 打开新版WPS,新建文档后就可以看到菜单栏多了一个“WPS AI”菜单,点击该菜单,发现下方出现很多菜单…...
java后端开发day27--常用API(二)正则表达式爬虫
(以下内容全部来自上述课程) 1.正则表达式(regex) 可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性。 1.作用 校验字符串是否满足规则在一段文本中查找满足要求的内容 2.内容定义 ps:一…...
拼电商客户管理系统
内容来自:尚硅谷 难度:easy 目 标 l 模拟实现一个基于文本界面的 《 拼电商客户管理系统 》 l 进一步掌握编程技巧和调试技巧,熟悉面向对象编程 l 主要涉及以下知识点: 类结构的使用:属性、方法及构造器 对象的创建与…...
华为:Wireshark的OSPF抓包分析过程
一、OSPF 的5包7状态 5个数据包 1.Hello:发现、建立邻居(邻接)关系、维持、周期保活;存在全网唯一的RID,使用IP地址表示 2.DBD:本地的数据库的目录(摘要),LSDB的目录&…...
Android项目优化同步速度
最近项目需要使用ffmpeg,需要gradle配置引入ffmpeg库,发现原来通过google官方的代码仓,下载太慢了,每秒KB级别的速度。(之前下gradle/gradle plugin都不至于这么慢),于是想到配置国内镜像源来提…...
在线教育网站项目第二步 :学习roncoo-education,服务器为ubuntu22.04.05
一、说明 前端技术体系:Vue3 Nuxt3 Vite5 Vue-Router Element-Plus Pinia Axios 后端技术体系:Spring Cloud Alibaba2021 MySQL8 Nacos Seata Mybatis Druid redis 后端系统:roncoo-education(核心框架:S…...
STM32-GPIO详解
目录 一:GPIO基本概念 编辑 二:GPIO的实际应用 三:功能描述 四:GPIO库函数 五:寄存器 GPIO相关寄存器功能 一:GPIO基本概念 GPIO是英文General Purpose Input/Output的缩写,中文翻译为…...
【Framework系列之Client】UIManager和UIPanel模块介绍
今天来介绍一下UIManager和UIPanel模块,话不多说直接开始。 UIManager 功能介绍 UIManager是管理UIPanel的唯一模块,UIManager的主要功能包括: 提供打开、隐藏、关闭UIPanel的相关接口。负责UIPanel对象的创建以及初始化。负责储存UIPanel对…...
阿里云操作系统控制台——ECS操作与性能优化
引言:在数字化时代,云服务器作为强大的计算资源承载平台,为企业和开发者提供了灵活且高效的服务。本文将详细介绍如何一步步操作云服务器 ECS,从开通到组件安装,再到内存全景诊断,帮助快速上手,…...
【优化交叉口的绿灯时间】基于遗传算法的交通灯管理研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
终极指南:使用Python开源工具破解百度网盘限速,实现高速免费下载
终极指南:使用Python开源工具破解百度网盘限速,实现高速免费下载 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘几十KB的下载速度而烦恼…...
3个步骤让Windows任务栏图标居中,打造macOS般的桌面体验
3个步骤让Windows任务栏图标居中,打造macOS般的桌面体验 【免费下载链接】TaskbarX Center Windows taskbar icons with a variety of animations and options. 项目地址: https://gitcode.com/gh_mirrors/ta/TaskbarX 你是否厌倦了Windows任务栏图标总是靠左…...
别再点‘忽略’了!开机弹出Visual C++ Runtime Library错误的终极排查指南(附Adobe软件关联排查)
Visual C Runtime Library错误:从崩溃到根治的全链路解决方案 每次开机时那个刺眼的Visual C Runtime Library错误弹窗,就像一位不请自来的访客,固执地打断你的工作节奏。对于依赖Adobe Creative Cloud或达芬奇等创意工具的专业人士来说&…...
终极qmcdump指南:5分钟掌握QQ音乐加密格式解密技巧
终极qmcdump指南:5分钟掌握QQ音乐加密格式解密技巧 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump qmcdump是…...
从零构建本地化AI代码助手:架构、微调与工程实践
1. 项目概述:从零构建你自己的Claude代码助手最近在开发者社区里,一个名为“build-your-claude-code-from-scratch”的项目引起了我的注意。这个标题本身就充满了吸引力——它暗示着一种可能性:我们是否能够不依赖任何现成的、闭源的商业API&…...
告别答辩PPT焦虑:百考通AI智能生成,高效搞定毕业答辩全流程
毕业季悄然来临,随着毕业论文定稿,答辩PPT成了不少同学面临的下一个挑战。不懂设计、不会梳理逻辑、找不到合适的学术模板……许多同学花费大量时间在排版调整、修改打磨上,不仅效率低下,还常常做出结构混乱、风格不统一的PPT&…...
Ruby LLM框架:为Ruby开发者打造的大语言模型应用开发工具包
1. 项目概述:一个为Ruby语言量身打造的LLM应用框架如果你是一名Ruby开发者,最近被各种大语言模型(LLM)的应用搞得心痒痒,但看着满世界的Python库和框架感到无从下手,那么crmne/ruby_llm这个项目可能就是你在…...
Git安全增强实战:使用Ante实现策略即代码的版本控制防护
1. 项目概述:一个为开发者打造的“代码保险箱”如果你和我一样,在职业生涯中经历过几次“代码灾难”——比如不小心git push -f覆盖了同事的提交,或者手滑rm -rf删除了一个正在开发中的功能分支——那你一定会对“代码安全”这四个字有切肤之…...
从理论到实践:三维形状上下文(3DSC)如何构建鲁棒的点云局部描述符
1. 为什么我们需要三维形状上下文(3DSC) 想象一下你正在玩一个拼图游戏,但所有碎片都被随机撒上了胡椒粉,有些碎片还被书本盖住了一角。这就是计算机处理含噪声、遮挡的点云数据时的真实处境。在机器人导航、自动驾驶或者工业质检中,我们经常…...
