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的值进行排序,如此类推

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

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

相关文章

C++20中头文件concepts的使用

<concepts>是C20中新增加的头文件&#xff0c;此头文件是concepts库的一部分&#xff0c;主要用于模板编程、泛型编程。包括 1.core language concepts&#xff1a; std::same_as&#xff1a;指定一种类型(type)与另一种类型是否相同。 std::derived_from&#xff1a;指定…

Apollo Planning2.0决策规划算法代码详细解析 (3):PlanningComponent框架介绍

Apollo Planning 2.0的框架更新涉及多个方面&#xff0c;这些更新旨在提升自动驾驶系统的灵活性、可扩展性和性能。 以下是Apollo Planning 2.0 的框架图&#xff1a; 其中&#xff0c;Apollo的PlanningComponent在自动驾驶系统中扮演着至关重要的角色。其主要作用可以归纳为以…

使用yum为centos系统安装软件以及使用(包含阿里云yum源配置)

centos系统配置阿里云yum源 因为centos7官方停止维护&#xff0c;自带yum源用不了了&#xff0c;所以可以更换成阿里云yum源 方法&#xff1a; 使用root权限执行以下语句 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo CentOS…

番外篇 | 复现AC-YOLOv5,进行自动化织物缺陷检测

前言:Hello大家好,我是小哥谈。我们提出了一种基于AC-YOLOv5的新型纺织缺陷检测方法。将空洞空间金字塔池化(ASPP)模块引入YOLOv5主干网络中,提出了squeeze-and-excitation(CSE)通道注意力模块,并将其引入到YOLOv5主干网络中。🌈 目录 🚀1.基础概念 🚀2.添…

一文上手Kafka【中】

一、发送消息细节 在发送消息的特别注意: 在版本 3.0 中&#xff0c;以前返回 ListenableFuture 的方法已更改为返回 CompletableFuture。为了便于迁移&#xff0c;2.9 版本添加了一个方法 usingCompletableFuture&#xff08;&#xff09;&#xff0c;该方法为 CompletableFu…

【韩顺平Java笔记】第2章:Java概述

按视频的标号来对应小标题&#xff0c;自用学习笔记 文章目录 5. 内容梳理6. 程序举例6.1 什么是程序 7. Java故事7.1 Java诞生小故事7.2 Java技术体系平台 8. Java特性8.1 Java重要特点 9. sublime10. jdk介绍10.1 Java运行机制及运行过程10.1.1 Java虚拟机&#xff08;JVM&a…

【Python】多个dataframe存入excel的不同的sheet表里,而不会被覆盖的方法

我发现&#xff0c;我原来用的多个工作簿存入的方法&#xff0c;发现不太可行&#xff0c;如果我用原来的方法&#xff0c;然后for循环&#xff0c;新的dataframe会把原来的覆盖掉&#xff0c;然后只剩下一个工作薄。原先的代码&#xff1a; with pd.ExcelWriter(file_name ) …

【题解】2022ICPC杭州-K

翻译 原题链接   简述一下就是每次询问重新定义一个字母排序表&#xff0c;问在这个顺序下n个字符串的序列的逆序数是多少。 字典树计算逆序数 先考虑初始状况下&#xff0c;即 a < b < . . . < z a<b<...<z a<b<...<z的情况下&#xff0c;逆序…

[SAP ABAP] 锁对象

在SAP中使用锁对象&#xff0c;用于避免在数据库中插入或更改数据时出现不一致的情况 1.创建锁对象 数据准备 学校表(ZDBT_SCH_437) 使用事务码SE11创建锁对象 点击"锁对象"单选按钮&#xff0c;输入以E开头的锁定对象的名称&#xff0c;然后点击创建按钮 锁对象名…

看480p、720p、1080p、2k、4k、视频一般需要多大带宽呢?

看视频都喜欢看高清&#xff0c;那么一般来说看电影不卡顿需要多大带宽呢&#xff1f; 以4K为例&#xff0c;这里引用一位网友的回答&#xff1a;“视频分辨率4092*2160&#xff0c;每个像素用红蓝绿三个256色(8bit)的数据表示&#xff0c;视频帧数为60fps&#xff0c;那么一秒…

基于VUE的在线茶叶购物网站的设计与实现后端SpringBoot数据库MySQL

目录 1. 项目结构规划 2. 技术选型与工具链 3. 关键功能模块设计 4. 数据库设计 5. 安全性考虑 6. 性能优化建议 在开发一个在线茶叶购物网站之前&#xff0c;了解相关的研究背景和技术发展趋势是非常重要的。以下是一些关键点&#xff0c;可以帮助理解该项目的开发背景和…

召回07 双塔模型——正负样本

正样本&#xff1a; 二八法则&#xff0c;少部分物品占据了大多数点击&#xff0c;会导致正样本大多是热门物品。以一定的概率抛弃一些热门物品&#xff0c;抛弃的概率与样本的点击次数正相关。 负样本&#xff1a; 简单负样本 上述简单负样本是从全体样本中抽样。其中&#…

Python编码系列—Python备忘录模式:掌握对象状态保存与恢复技术

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

[Redis][Zset]详细讲解

目录 0.前言1.常见命令1.ZADD2.ZCARD3.ZCOUNT4.ZRANGE5.ZREVRANGE6.ZRANGEBYSCORE7.ZPOPMAX8.BZPOPMAX9.ZPOPMIN10.BZPOPMIN11.ZRANK12.ZREVRANK13.ZSCORE14.ZREM15.ZREMRANGEBYRANK16.ZREMRANGEBYSCORE17.ZINCRBY 2.集合间操作1.有序集合的交集操作2.ZINTERSTORE3.有序集合的并…

H5响应式的文化传媒娱乐公司HTML网站模板源码

源码名称&#xff1a;响应式的文化传媒娱乐公司HTML网站模板源码 源码介绍&#xff1a;一款自适应H5文化传媒娱乐公司官网源码&#xff0c;源码带有6个H5页面&#xff0c;可用于文化传媒和娱乐公司官网。 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.51888w.c…

Netty系列-5 Netty启动流程

背景 Netty程序有固定的模板格式&#xff0c;以ServerBootstrap为例: public class NettyServer {public void start(int port) {ServerBootstrap serverBootstrap new ServerBootstrap();EventLoopGroup boosGroup new NioEventLoopGroup(1);EventLoopGroup workGroup ne…

Kubernetes配置管理(kubernetes)

实验环境&#xff1a; 在所有节点上拉取镜像&#xff1b;然后把资源清单拉取到第一个master节点上&#xff1b; 同步会话&#xff0c;导入镜像&#xff1a; configmap/secret 配置文件的映射 变量&#xff1a; 基于valuefrom的方式 cm--》pod 特点&#xff1a;变量的名称可…

[JavaEE] IP协议

目录 一、 IP协议 1.1 基本概念 1.2 协议头格式 1.3 特殊IP 二、 地址管理 2.1 网段划分 2.2 CIDR(Classless Interdomain Routing) 2.3 私有IP地址和公网IP地址 2.4 NAT(Network Address Translation)-网络地址转换 2.5 路由选择 三、数据链路层 3.1 认识以太网 3…

什么是AQS

目录 AQS 介绍 原理 以可重入的互斥锁 ReentrantLock 为例 以倒计时器 CountDownLatch 以例 AQS 资源共享方式 实现自定义同步器 示例 性能优化 AQS 介绍 AQS &#xff08;AbstractQueuedSynchronizer &#xff09;&#xff0c;抽象队列同步器。AQS 是一个功能强大且…

cmd命令大全详解

CMD是Windows操作系统中的命令行解释器&#xff0c;它允许用户通过键入命令来执行各种操作。以下是一些常用的CMD命令及其简要说明&#xff1a; dir - 显示目录中的文件和子目录。 cmddir cd - 更改当前目录。 cmdcd [目录路径] mkdir - 创建新目录。 cmdmkdir [目录名] rmd…