MySQL的增删查改(基础)一

news2024/11/17 12:31:53

一.增

方式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.coloradmin.cn/o/2175158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

el-form 表单一个 el-form-item 包含多个 el-input 时的校验方法

效果如图&#xff1a; 方法&#xff1a; 在el-form-item上添加required&#xff0c;里面再放一层el-form-item&#xff0c;设置prop&#xff0c;在rules填校验规则 代码实例如下&#xff1a; <template><div><el-form :rules"rules" :model"ru…

QT基础 制作简单登录界面

作业&#xff1a; 1、创建一个新项目&#xff0c;将默认提供的程序都注释上意义 01zy.pro代码 QT core gui # QT表示要引入的类库 core&#xff1a;核心库例如IO操作在该库中 gui&#xff1a;图形化界面库 # 如果要使用其他类库中的相关函数&#xff0c;则需要加对…

使用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…

iOS 小组件

基本知识 时间轴 小组件通过AppIntentTimelineProvider进行 UI 刷新 struct Provider: AppIntentTimelineProvider {func placeholder(in context: Context) -> SimpleEntry {// 添加占位的&#xff08;选择添加的时候使用&#xff09;// todo}func snapshot(for configu…

Codeforces Round 975 (Div. 1) D. Max Plus Min Plus Size(思维题 并查集/动态dp 线段树维护状态合并)

题目 思路来源 hhoppitree代码 官方题解 题解 注意到最大值一定会被取到&#xff0c; 对于最小值固定的话&#xff0c;对于1 2 3 4 5的连续段&#xff0c;要么贪心地取1 3 5&#xff0c;要么取2 4 如果最大值被包含在1 3 5里显然取1 3 5&#xff0c;否则换成2 4一定能取到…

Tableau数据可视化入门

目录 一、实验名称 二、实验目的 三、实验原理 四、实验环境 五、实验步骤 1、Tableau界面引导 2、数据来源 3、数据预处理操作 4、制作中国各个地区的利润图表 4.1条形图 4.2气泡图 5、制作填充地球图 一、实验名称&#xff1a; 实验一&#xff1a;Tableau数据可视…

信息学奥赛复赛复习06-CSP-J2020-02直播获奖-向上取整、向下取整、整数除法、最大值、最小值、计数排序

PDF文档回复:20240928 1 2020 CSP-J 题目1 优秀的拆分 [题目描述] NOI2130 即将举行。为了增加观赏性&#xff0c;CCF 决定逐一评出每个选手的成绩&#xff0c;并直播即时的获奖分数线。本次竞赛的获奖率为 w%&#xff0c;即当前排名前 w% 的选手的最低成绩就是即时的分数线 …

Java SPI 原理、样例

在 Java 中&#xff0c;SPI&#xff08;Service Provider Interface&#xff09;全称为服务提供者接口&#xff0c;它是一种用于实现框架扩展和插件化的机制。 一、SPI 作用 允许在运行时动态地为接口查找服务实现&#xff0c;而不需要在代码中显式地指定具体的实现类。 这使得…

跨多场景帧重建DENSER:使用小波估计进行城市动态场景重构

Abstract 本文提出了一种名为DENSER的高效方法&#xff0c;该方法利用三维高斯点云(3DGS)技术来重建动态城市环境。尽管通过神经辐射场(NeRF)隐式方法和3DGS显式方法的若干场景重建技术在较复杂的动态场景中展示了出色的效果&#xff0c;但在建模前景物体的动态外观时仍存在挑…

PY32F002B

墨水屏&#xff1a; 前景和背景 在屏幕和图像处理中&#xff0c;前景和背景是两个重要的概念&#xff1a; 前景&#xff08;Foreground&#xff09;&#xff1a; 指的是图像或屏幕上最显著的部分&#xff0c;通常是用户关注的主要内容。例如&#xff0c;在一张照片中&#xf…

【开源免费】基于SpringBoot+Vue.JS技术交流分享平台(JAVA毕业设计)

博主说明&#xff1a;本文项目编号 T 053 &#xff0c;文末自助获取源码 \color{red}{T053&#xff0c;文末自助获取源码} T053&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

基于STM32热力二级管网远程监控系统设计(论文+源码)_kaic

摘 要 城市集中供热的运行管理中&#xff0c;热力二级管网作为供暖系统的重要的一环&#xff0c;通过对供热管网的远程集中监控、调节和对温度、压力、流量等参数的采集分析及处理&#xff0c;可以实现日常生产调度管理的自动化&#xff0c;提高运行管理效率。同时&#xff0c…

论文速递 | Management Science 8月文章合集

编者按 在本系列文章中&#xff0c;我们对顶刊《Management Science》于8月份发布文章中进行了精选&#xff08;共9篇&#xff09;&#xff0c;并总结其基本信息&#xff0c;旨在帮助读者快速洞察行业最新动态。 推荐文章1 ● 题目&#xff1a;Optimal Mechanism Design with …

TikTok不符合推荐页资格是为什么?该如何解决?

TikTok推荐页&#xff0c;就是平台上的For You一栏&#xff0c;即是TikTok的核心功能之一&#xff0c;它会根据用户的兴趣和行为推送个性化内容。然而&#xff0c;并非所有视频都有机会进入推荐页。如果你在TikTok上发布的视频显示不符合推荐页的资格&#xff0c;那么很可能是由…

记一次因视频编码无法在浏览器播放、编码视频报错问题

起因 ... f cv2.VideoWriter_fourcc(*h264) ...我这边使用h264编码会提示 OpenCV: FFMPEG: tag 0x34363268/h264 is not supported with codec id 27 and format mp4 / MP4 (MPEG-4 Part 14) OpenCV: FFMPEG: fallback to use tag 0x31637661/avc1 [ERROR:02.711] global /i…

AI模型托管数量突破百万大关

B站&#xff1a;啥都会一点的研究生公众号&#xff1a;啥都会一点的研究生 AI圈又有哪些新鲜事&#xff1f; Hugging Face AI模型托管数量突破百万大关 AI托管平台Hugging Face迎来里程碑&#xff0c;其托管的AI模型数量已超过100万个&#xff0c;标志着AI产业的蓬勃发展。H…

Java_集合_双列集合_Map

第一章Map集合 Map是双列集合顶级接口 什么叫做双列集合:一个元素有两部分构成:key和value -> 键值对 1.1.HashMap 常用方法: V put(K key, V value) -> 添加元素,返回的是被替换的value值 V remove(Object key) ->根据key删除键值对,返回的是被删除的value…

Servlet——springMvc底层原理

我们也先了解一下什么的动态资源&#xff0c;什么是静态资源。 静态资源&#xff1a;无需程序运行就可以获取的资源&#xff08;照片、html、css、js等&#xff09; 动态资源&#xff1a;需要通关程序运行才可以获得的资源。 &#xff08;其实动态、静态的资源都与Servlet有…

智慧水利综合解决方案

1. 智慧水利综合解决方案概述 智慧水利综合解决方案旨在通过集成先进技术&#xff0c;实现水利管理的智能化和高效化。该方案涵盖平台建设、业务系统建设和系统集成服务三大应用场景&#xff0c;通过数字孪生、GIS平台开发等技术手段&#xff0c;全面提升水利行业的管理能力和…

Android页面跳转与返回机制详解

在Android开发中&#xff0c;页面跳转是实现应用功能交互的重要手段之一。本文将从Activity之间的跳转、Activity与Fragment之间的跳转、Fragment之间的跳转以及页面返回的问题四个方面进行详细解析。 一、Activity之间的跳转 Activity是Android应用的基本构建块&#xff0c;…