MySQL的增删查改(基础)一
一.增
方式1(简写插入):
语法:insert into 表名 values(值,值,值……);
这里insert into 代表要插入一条新数据行,values后面就是该行的值,其中后面的值的顺序和个数按照创建表时的字段的顺序一一对应,如果顺序不一样或者个数不一样,就会报错
方式2(指定列插入):
语法:insert into 表名(字段1,字段2……) values(值1,值2……)
这里就是指定对应的字段插入后面对应的值,没有指定到的字段就使用的默认值,同时后面的值也不是像上面那样按照创建表时的字段的顺序来对应的了,而是按照前面指定字段的顺序来对应
如下,就成功插入一条数据进入表里面,同时goods_describe这个字段因为没有被指定,所以使用的默认值为null
select是查这一部分的知识,稍后会讲到
方式3(多行插入):
语法::insert into 表名(字段1,字段2……)values(值1,值2……),(值1,值2……)……
这里就是表示连续插入多行数据,其中前面是否采用简写插入还是指定列插入自己选择,后面则以逗号来区别不同行的数据
问题:一次插入一条数据和一次插入多条数据哪个效率高?
首先有两种开销,一种是网络开销,另一种是磁盘IO的开销
执行所有的SQL时都有网络开销(这是一个不可控的因素)
写入数据时则会产生网络开销
而每执行一条SQL语句都会开启一个事务,事务的开启和关闭都需要消耗系统资源
所以在可控范围之内,一次插入多条数据比一次插入一条数据效率高那么一点
用手机充电来类比,充电线插入手机,一次充满和充电线充一会电拔出来,又插上去充一会电又拔,那么充电口多次插拔肯定对手机硬件的损耗更大
二.查
方式1(全列查询):
语法:select * from 表名
select就是查询的意思,*代表全部数据,from就代表查询哪里的数据
但是在生产环境中,一个表的数据量可能会很多很多,有可能达到TB级,而每查询一条数据都会产生磁盘开销和网络开销,所以如果使用全列查询,就有可能把服务器的资源吃光,其他的程序或是数据库操作就要等待当前SQL执行完之后才能继续执行
所以不加任何限制的查询在生产环境不要使用
方式2(指定列查询)
语法:select 列名1,列名2…… from 表名
同理,就是只查询指定列名对应的数据
注:这里可以不只是列名,而可以是个表达式,比如列名+10,就代表在原来的数据基础上+10,然后返回出来
例子如下
列于列之间也可以进行运算
但是这样子看起来比较繁冗,可以通过别名来简化
别名语法:表达式 as 别名
其中as可以省略,就直接表达式 别名,这个看个人习惯选择,有人习惯最简单的书写方式,有人习惯逻辑格式完整的书写方式
可以给别名加上单引号,但是如果别名中间有空格,那么必须加单引号包裹起来
我们的表里本来没有总分这一列,但是为什么这里查询表为什么会有这么一列呢
是因为通过表达式查询出来的结果集是通过一个临时表返回给我们的,执行完之后临时表就删除了(在MySQL中所有的查询结果都会通过临时表返回给用户)
同样可以对多个表达式命名别名
select 列名1 as 别名1,列名2 as 别名2…… from 表名
去重:distinct
语法:select distinct 列名 from 表名;
如果该列的值有重复的,那么查询的时候只会有一个
注:如果查询的列名有多个,那么只有当所有列名对应的值都相同才判断为重复,否则还是当作两条不一样的数据行
排序:order by
语法:select 列名 from 表名 order by 列名 [ASC|DESC]
其中order by 列名表示按照该列名的值进行排序,而ASC代表升序(从小到大往下排),DESC代表降序(从大到下往下排),注意的是desc这个关键字之前代表描述表,现在又代表降序,一个关键字代表了两个意思,这是MySQL不好的方面,当初设计的时候就没有很好的规范,我们要吸取这个教训,写代码的时候要注意一下命名规范
没有指定ASC或者DESC则默认按照ASC升序排序,但还是强烈建议指定排序规则,更便于理解
如果没有使用order by子句,那么MySQL默认根据哪个字段进行排序是不确定的,所以如果我们有排序的意向,那么就明确指定排序字段和排序方式
注:null在数据排序时,视为比任何值都小(比负数都小),所以升序一定在最上面,降序一定在最下面,而且null与其他值进行运算时,最终的返回值都是null,比如100+null=null。而且null始终被判定为false,同时也不像其他编程语言可以等于0,null就是null,比较特殊
同样,order by后面这个列名可以使用别名,前提是前面已经提前进行了别名命名
如果指定多个列名进行order by 排序呢
语法:order by 列名1[asc|desc],列名2[asc|desc],列名3[asc|desc]……
比如出现并列的情况,就会先按照列名1的值进行排序,再在该基础上按照列名2的值进行排序,如此类推
相关文章:

MySQL的增删查改(基础)一
一.增 方式1(简写插入): 语法:insert into 表名 values(值,值,值……); 这里insert into 代表要插入一条新数据行,values后面就是该行的值,其中后面的值的…...

深度学习(入门)03:监督学习
1、监督学习简介 监督学习(Supervised Learning)是一种重要的机器学习方法,它的目标是通过“已知输入特征”来预测对应的标签。在监督学习中,每一个“特征-标签”对被称为样本(example),这些样…...
Django——admin创建和使用
1. Django Admin简介 Django Admin是Django框架自带的一个管理后台工具,它允许开发者通过一个直观的Web界面轻松地管理应用中的数据模型。Admin提供了模型的CRUD(Create,Read, Update, Delete)操作,以及数据的批量处理和搜索功能…...
鸿蒙开发(NEXT/API 12)【硬件(取消注册智慧出行连接状态的监听)】车载系统
取消注册智慧出行连接状态的监听。 接口说明 接口名描述[off] (type: ‘smartMobilityStatus’, smartMobilityTypes: SmartMobilityType[], callback?: Callback): void取消注册智慧出行连接状态的监听。 开发步骤** 导入Car Kit模块。 import { smartMobilityCommon } fr…...
JVM中的GC流程与对象晋升机制详解
一、垃圾回收的概念 1.1 什么是垃圾回收? 垃圾回收是自动回收不再使用的对象,从而释放内存的一种机制。通过GC,JVM能够动态地管理内存的分配与回收,避免内存泄漏和溢出。 1.2 GC的重要性 内存管理:GC自动处理对象的…...
SQL:如果字段需要排除某个值但又有空值时,不能直接用“<>”或not in
在 SQL 中,如果字段需要排除某个值但又有空值存在时,不能直接使用“<>”(不等于)或 NOT IN,是因为这些操作会把空值也考虑进去,但通常情况下可能并不希望空值被这样处理。 以下是一些解决方法&#…...

运放模块的选型参数
增益带宽积-----尤其重要: GWB 增益*带宽 压摆率: 高带宽的运放一般都是电流型运放: 注意压摆率计算公式里面的Vopp参数是放大后的电压最大值: 参数,布局一定参考数据手册!!!&…...

win10文件共享设置 - 开启局域网文件共享 - “您没有权限访问,请与网络管理员联系请求访问权限”解决方案
实现步骤: 1、在“网络和共享中心”关闭“密码保护的共享” 2、在“启用和关闭windows功能”中开启SMB文件共享支持。 3、在磁盘安全选项中添加“everyone”用户(重点!) 详细操作: https://blog.csdn.net/Skyirm/a…...
Go基础编程 - 16 - 方法
方法 概述1. 方法定义2. 值方法、指针方法3. 方法集合 匿名字段表达式自定义 error 上一篇:延迟调用(defer) 概述 1. 方法定义 func (receiver T) 方法名(参数列表) (返回值列表){}receiver:接收者参数名T…...
接口报错500InvalidPropertyException: Invalid property ‘xxx[256]‘,@InitBinder的使用
org.springframework.beans.InvalidPropertyException: Invalid property ‘xxx[256]’ of bean class [com.xxl.MailHead]: Invalid list index in property path ‘xxx[256]’; nested exception is java.lang.IndexOutOfBoundsException: Index: 256, Size: 256 从报错可以…...
Web 3.0 介绍
Web 3.0 是互联网的下一代发展阶段,通常被称为去中心化的网络。它与目前的 Web 2.0(以社交媒体、云计算和中心化平台为主导)不同,强调用户对数据和内容的更多掌控,依靠区块链、加密货币、去中心化应用(DApp…...
一起搭WPF界面之界面切换绑定
一起搭WPF界面之界面切换绑定 前言界面填充总结 前言 在主界面中定义Grid网格,界面网格化后,可以模块化搭建界面进行填充。 界面填充 总结 提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅…...

css 数字比汉字要靠上
这个问题通常是由于数字字体的下排的问题造成的,也就是数字的底部边缘位置比汉字的顶部边缘位置更靠下。为了解决这个问题,可以尝试以下几种方法: 使用CSS的vertical-align属性来调整对齐方式。例如,可以将数字的对齐方式设置为to…...

sentinel原理源码分析系列(三)-启动和初始化
本文是sentinel原理源码分析系列第三篇,分析sentinel启动和初始化 启动/初始化 sentinel初始化分两块,静态初始和适配器(包括aop) 静态初始 1. Root EntranceNode 如果我们用一栋楼类比资源调用,root EntranceNode好比一栋楼的大门&…...

计算机网络(九) —— Tcp协议详解
目录 一,关于Tcp协议 二,Tcp报头字段解析 2.0 协议字段图示 2.1 两个老问题 2.2 16位窗口大小 2.3 32位序号和确认序号 2.4 6个标记位 三,Tcp保证可靠性策略 3.1 确认应答机制(核心) 3.2 超时重传机制 3.3 …...
跨境支付专业术语
跨境支付 跨境支付是指支付或者清结算过程发生在两个及以上的国家地区之间、实现了资金跨国跨地区转移的支付行为。 境外本地支付 境外本地支付是指支付和清结算过程同时发生在单个国家或地区境内,资金在本国家或地区内部转移的支付行为。 国际汇款 国际汇款指跨…...

多级目录SQL分层查询
需求:有多级目录,而目录的层级是不固定的,如下图所示: 数据结构: sql语句: <select id"getList" resultType"com.hikvision.idatafusion.dhidata.bean.vo.knowledgebase.KnowledgeBaseT…...

VulnHub-SickOs1.1靶机笔记
SickOs1.1靶机笔记 概述 Vulnhub的靶机sickos1.1 主要练习从互联网上搜取信息的能力,还考察了对代理使用,目录爆破的能力,很不错的靶机 靶机地址: 链接: https://pan.baidu.com/s/1JOTvKbfT-IpcgypcxaCEyQ?pwdytad 提取码: yt…...

【Python】数据可视化之点线图
目录 散点图 气泡图 时序图 关系图 散点图 Scatterplot(散点图)是一种用于展示两个变量之间关系的图表类型。在散点图中,每个观测值(或数据点)都被表示为一个点,其中横轴(…...

jupyter使用pytorch
1、激活环境 以下所有命令都在Anaconda Prompt中操作。 conda activate 环境名称我的环境名称是myenv 如果不知道自己的pytorch配在哪个环境,就用下面方法挨个试。 2、安装jupyter 1、安装 pip install jupyter2、如果已经安装,检查jupyter是否已…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...