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

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.表中数据的查询:

  1. select
  1. 1全列查询:

select * from student;

  1. 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:

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

  1. 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 ...

来分析:

  1. 执行from找到表中所有数据
  2. 通过where来筛选
  3. 将where筛选之后的数据交给group by分组
  4. 将分组之后的各组交给聚合函数(avg)进行统计,重命名等工作
  5. 将结果交给having进行条件筛选

不止开始创建的表为表,经过where筛选后的也是表,经过分组后的也是表。。。。

mysql一切皆表。

相关文章:

MySQL表中数据基本操作

1.表中数据的插入&#xff1a; 1.insert insert [into] table_name [(column [,column]...)] values (value_list) [,(value_list)] ... 创建一张学生表&#xff1a; 1.1单行指定列插入&#xff1a; insert into student (name,qq) values (‘张三’,’1234455’); values左…...

可狱可囚的爬虫系列课程 16:爬虫重试机制

一、retrying模块简介 在爬虫中&#xff0c;因为我们是在线爬取内容&#xff0c;所以可能会因为网络、服务器等原因导致报错&#xff0c;那么这类错误出现以后&#xff0c;我们想要做的肯定是在报错处进行重试操作&#xff0c;Python提供了一个很好的模块&#xff0c;能够直接帮…...

第十五届蓝桥杯----B组cpp----真题解析(小白版本)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 必看前言&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;一、试题A&#xff1a;握手问题1.题意分析2.代码解答 二、试题B&#xff1a;小球反弹1.题意…...

软考架构师笔记-数据库系统

1.7 数据库系统 三级模式-两级映射 三级模式 外模式&#xff1a;用户视图概念模式&#xff1a;只涉及描述内模式&#xff1a;存储方式的描述 两级映射 外模式-概念模式映射概念模式-内模式映射 数据库的设计 步骤 需求分析 输出为需求分析、数据流图(Data FLow Diagram-DF…...

Spring AI 1.0.0-M6 快速开始(一)

Spring AI 1.0.0-M6 入门一、存储库二、依赖管理完整maven 入门 Spring 是JAVA中我们经常使用的框架之一&#xff0c;Spring AI不断的发展迭代目前已经到M6版本据说上半年会出一个稳定版本。 本节提供了如何开始使用Spring AI的M6。 一、存储库 1.0 M6 -添加Spring存储库 需…...

go 分布式redis锁的实现方式

go 语言以高并发著称。那么在实际的项目中 经常会用到锁的情况。比如说秒杀抢购等等场景。下面主要介绍 redis 布式锁实现的两种高并发抢购场景。其实 高并发 和 分布式锁 是一个互斥的两个状态&#xff1a; 方式一 setNX&#xff1a; 使用 redis自带的API setNX 来实现。能解决…...

Unity中Stack<T>用法以及删除Stack<GameObject>的方法

Unity中Stack用法以及删除Stack的方法 介绍Stack<T>的APIStack<T> 常用方法创建和初始化 Stack<T>Push 和 Pop 操作Stack<T>遍历清空栈检查栈是否包含某个元素 栈的典型应用场景撤销操作深度优先搜索&#xff08;DFS&#xff09;注意事项 总结 介绍 因…...

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 官网&#xff0c;点击 "Download" 按钮25。 版本选择&#xff1a; 社区版&#xff08;Community&#xff09;&#xff1a;免费使用&#xff0c;适合个人学习和基础开发。 专业版&#xff08;Professional&#…...

3D空间曲线批量散点化软件V1.0正式发布,将空间线条导出坐标点,SolidWorks/UG/Catia等三维软件通用

软件下载地址&#xff1a; SolidWorks/UG/Catia等三维软件通用&#xff0c;3D空间曲线批量散点化软件V1.0正式发布&#xff0c;将空间线条导出坐标点 - 陶小桃Blog在三维设计领域&#xff0c;工程师常需将复杂空间曲线转化为离散坐标点以用于逆向工程、有限元分析、数控加工或…...

WPS AI+office-ai的安装、使用

** 说明&#xff1a;WPS AI和OfficeAI是两个独立的AI助手&#xff0c;下面分别简单讲下如何使用 ** WPS AI WPS AI是WPS自带AI工具 打开新版WPS&#xff0c;新建文档后就可以看到菜单栏多了一个“WPS AI”菜单&#xff0c;点击该菜单&#xff0c;发现下方出现很多菜单&#xf…...

java后端开发day27--常用API(二)正则表达式爬虫

&#xff08;以下内容全部来自上述课程&#xff09; 1.正则表达式&#xff08;regex&#xff09; 可以校验字符串是否满足一定的规则&#xff0c;并用来校验数据格式的合法性。 1.作用 校验字符串是否满足规则在一段文本中查找满足要求的内容 2.内容定义 ps&#xff1a;一…...

拼电商客户管理系统

内容来自&#xff1a;尚硅谷 难度&#xff1a;easy 目 标 l 模拟实现一个基于文本界面的 《 拼电商客户管理系统 》 l 进一步掌握编程技巧和调试技巧&#xff0c;熟悉面向对象编程 l 主要涉及以下知识点&#xff1a; 类结构的使用&#xff1a;属性、方法及构造器 对象的创建与…...

华为:Wireshark的OSPF抓包分析过程

一、OSPF 的5包7状态 5个数据包 1.Hello&#xff1a;发现、建立邻居&#xff08;邻接&#xff09;关系、维持、周期保活&#xff1b;存在全网唯一的RID&#xff0c;使用IP地址表示 2.DBD&#xff1a;本地的数据库的目录&#xff08;摘要&#xff09;&#xff0c;LSDB的目录&…...

Android项目优化同步速度

最近项目需要使用ffmpeg&#xff0c;需要gradle配置引入ffmpeg库&#xff0c;发现原来通过google官方的代码仓&#xff0c;下载太慢了&#xff0c;每秒KB级别的速度。&#xff08;之前下gradle/gradle plugin都不至于这么慢&#xff09;&#xff0c;于是想到配置国内镜像源来提…...

在线教育网站项目第二步 :学习roncoo-education,服务器为ubuntu22.04.05

一、说明 前端技术体系&#xff1a;Vue3 Nuxt3 Vite5 Vue-Router Element-Plus Pinia Axios 后端技术体系&#xff1a;Spring Cloud Alibaba2021 MySQL8 Nacos Seata Mybatis Druid redis 后端系统&#xff1a;roncoo-education&#xff08;核心框架&#xff1a;S…...

STM32-GPIO详解

目录 一&#xff1a;GPIO基本概念 ​编辑 二&#xff1a;GPIO的实际应用 三&#xff1a;功能描述 四&#xff1a;GPIO库函数 五&#xff1a;寄存器 GPIO相关寄存器功能 一&#xff1a;GPIO基本概念 GPIO是英文General Purpose Input/Output的缩写&#xff0c;中文翻译为…...

【Framework系列之Client】UIManager和UIPanel模块介绍

今天来介绍一下UIManager和UIPanel模块&#xff0c;话不多说直接开始。 UIManager 功能介绍 UIManager是管理UIPanel的唯一模块&#xff0c;UIManager的主要功能包括&#xff1a; 提供打开、隐藏、关闭UIPanel的相关接口。负责UIPanel对象的创建以及初始化。负责储存UIPanel对…...

阿里云操作系统控制台——ECS操作与性能优化

引言&#xff1a;在数字化时代&#xff0c;云服务器作为强大的计算资源承载平台&#xff0c;为企业和开发者提供了灵活且高效的服务。本文将详细介绍如何一步步操作云服务器 ECS&#xff0c;从开通到组件安装&#xff0c;再到内存全景诊断&#xff0c;帮助快速上手&#xff0c;…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...