「MySQL」增删查改

在操作数据库中的表时,需要先使用该数据库:

use database;

新增

创建表

先用 use 指定一个数据库,然后使用 create 新增一个表
比如建立一个学生表

mysql> use goods;
mysql> create table student(
    -> name varchar(4),
    -> age int,
    -> grade decimal(3,1)
    -> );

通过desc + 表名来查看表结构:
在这里插入图片描述
其中的 name、age、grade 就是列(MySQL中的列就是我们平时所说的行);Field、Type 等就是行,其中 Null 中的Yes 表示该列可以为空,如果是 NO 则不可为空,Default 表示该列的默认值

表中各行所表示的含义如下:
在这里插入图片描述


插入记录

创建好表之后,使用 insert into 表名 values(列名 列名...) 来插入记录:

mysql> insert into student values("张三",20,98.5);

这里我们把所有列名都插入了,我们也可以指定插入部分列名,只需在表名后面加上要插入的列名就 ok 了:

mysql> insert into student(name,grade) values("李四",90);

插入后查看表
在这里插入图片描述
可以看到 age 那里是 NULL,它表示这条记录的这一列为空

我们现在是一条一条地插入,其实也可以一次插入多条记录:

mysql> insert into student values("王五",25,80),("赵六",24,85);

在这里插入图片描述

一次插入10个数据比一次插入一个数据,分10次完成的效率高

因为每条 sql 都会涉及到下面的交互过程:
在这里插入图片描述

  • 如果分 10 条 sql 进行,那意味着在这个过程中,就会有10次网络交互
    数据库服务器收到请求之后,也要进行 10 次对应的处理,比如检查语法、数据校验、把你要插入的数据的位置在硬盘上进行定位…

  • 如果只用 1 次完成,虽然单次消耗的时间会更长,但是网络开销、服务器检查的开销都是一份的,这个做法会更高效一些

查询

查询方式

可以通过 select * from 表名 查询到表中所有数据,比如上面就是通过这条语句来查看数据的
也可以使用select 列名,列名 from 表名来查看指定列的信息

注意:在公司的生产环境服务器上,不要随便敲select* !!!因为数据量很大的话,这个操作会产生大量的硬盘IO和网络IO,可能把硬盘或网卡的带宽给吃满了
而一旦带宽吃满,此时服务器就无法正常响应其他客户端的请求(在其他客户端的视野中,就会认为MySQL服务器是挂了)

除了上面两种查询方式,我们还可以使用表达式查询
就是在查询过程中,指定表达式,把查询出来的每一行,都代入到表达式中进行运算

比如下面的grade-10就是一个表达式
在这里插入图片描述
进行表达式查询时,并没有修改硬盘中存储的数据,只是在查询结果的基础上进行运算,得到一份"临时表",也就是说 select 进行的任何操作都不会修改数据本体
此时查询出来的临时表,为了保证数据的正确性,每个列的类型不再受限于原始表

比如给所有学生的成绩加10
在这里插入图片描述
虽然 grade 限定位数为 3 ,但是为了使数据不会出错,所以临时表不会限制位数

查询操作结束后,临时表中的数据就会消散了

到这里我们介绍了三种查询方式:
①查询所有数据
②查询指定列数据
③表达式查询

还有四种查询方式
④查询时带上别名

select 表达式 as 别名 from 表名;

比如现在有一个学生成绩表,有语文、数学、英语三个科目,我想查询某个学生成绩的总和,可以这样:
在这里插入图片描述
查询结果的列就只有 sum,而不是 chinese+math+english,这样可以使查询结果更简洁


⑤查询时进行去重

select distinct 列名 from 表名

根据查询出的列名进行去重,把列的值相同的记录合并为一个
比如现在有如下的表:
在这里插入图片描述
在这里插入图片描述
现在只查询一个列,那如果同时查询多个列并进行去重呢?
在这里插入图片描述
从上图我们可以得出:查询多个列时,只有两个记录多个列的值都相同,才算是重复


⑥查询时进行排序

select 列名 from 表名 order by 列名 

在这里插入图片描述
(注意前面用desc + 表名来查看表结构;而这里是将desc放在后面排降序)

order by 也可以指定多个列进行排序,指定多个列时,带有优先级,前面的列优先级高,后面的低。优先级高的列的值相同时,才会去比较优先级低的列
举个例子:
在这里插入图片描述


⑦条件查询
就是查询时指定筛选条件,只有满足条件的数据才会保留作为结果集(如果不满足,那么这个数据会被跳过)

  • 比较运算符
运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于
<=>等于
!=, <>不等于
BETWEEN a0 AND a1范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN(option…)如果是 option 中的任意一个,返回 TRUE(1)
IS NULL是NULL
IS NOT NULL不是NULL
LIKE模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

我们重点来讲两个“等于”
对于 NULL = NULL ,它的结果是 false
而如果是 NULL <=> NULL,结果则为 true

  • NULL表示某个单元格没填,对于 =,它认为等号左右的 NULL 指的不是同一个单元格,没有可比性,所以二者不相等
  • 而对于 <=>,它只看内容,既然二者都没有内容,那就都一样

要使用条件查询需要搭配关键字where
在这里插入图片描述

  • 逻辑运算符
运算符说明
AND多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR任意一个条件为 TRUE(1), 结果为 TRUE(1)
NOT条件为 TRUE(1),结果为 FALSE(0)

注意:

  1. WHERE条件可以使用表达式,但不能使用别名
  2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

React富文本编辑器开发(三)

现在我们的编辑器显示的内容很单一&#xff0c;这自然不是我们的目标&#xff0c;让呈现的内容多元化是我们的追求。这就需要让编辑器能够接收多元素的定义。从初始数据的定义我们可以推断数据的格式远不止一种&#xff0c;那么其它类型的数据如何定义及呈现的呢&#xff0c;我…

装修效果图云渲染服务的时间效率分析

高质量的室内设计效果图对于展示设计方案和吸引客户至关重要&#xff0c;但其渲染过程往往耗时且可能导致项目进度延误。对设计师而言&#xff0c;提升渲染速度是至关重要的&#xff0c;因为这直接关系到他们的工作效率以及客户满意度。室内效果图的渲染时间通常受到图像复杂度…

Nginx 常用的基础配置(前端相关方面)

Nginx是一款高性能的Web服务器和反向代理服务器&#xff0c;广泛应用于互联网领域。作为一名前端同学&#xff0c;了解并掌握Nginx的配置是非常有必要的。 安装Nginx sudo apt-get update sudo apt-get install nginx查看Nginx版本 nginx -v启动、停止、重启Nginx服务 sudo …

C#学习(十四)——垃圾回收、析构与IDisposable

一、何为GC 数据是存储在内存中的&#xff0c;而内存又分为Stack栈内存和Heap堆内存 Stack栈内存Heap堆内存速度快、效率高结构复杂类型、大小有限制对象只能保存简单的数据引用数据类型基础数据类型、值类型- 举个例子 var c new Customer{id: 123,name: "Jack"…

Typora快捷键设置详细教程(内附每个步骤详细截图)

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号&#xff1a;程序员洲洲。 &#x1f388; 本文专栏&#xff1a;本文…

Win11系统安装安卓子系统教程

随着Win11系统的不断普及&#xff0c;以及硬件设备的更新换代&#xff0c;我相信很多同学都已经更新并使用到了最新的Win11系统。那么&#xff0c;Win11系统最受期待的功能“Windows Subsystem for Android”&#xff08;简称WSA&#xff09;&#xff0c;即《安卓子系统》。他可…

NodeJs 版本升级时Vue工程报错

最近把nodejs 的版本更新了&#xff0c;原来用的 16.15.1 现在用的 18.16.1&#xff0c;结果所有的vue工程都启不动了&#xff0c;一直报错。 1.报错截图 2.原因分析 error:03000086:digital envelope routines::initialization error &#xff0c;这个是nodejs版本的问题&am…

帆软图片设置之一张图片铺满整个屏幕

1、设置PC端自适应属性&#xff0c;字体自适应&#xff0c;双向自适应&#xff1b; 2、单元格属性–>对齐–>高级–>图片布局–>拉伸。

民爆5G智能制造工厂数字孪生可视化平台,推进民爆工业数字化转型

民爆5G工厂智能制造数字孪生可视化平台&#xff0c;推进行业数字化转型。民爆行业作为国家经济发展的重要支柱产业&#xff0c;其数字化转型对于提高生产效率、降低成本、保障安全等方面具有重要意义。而民爆5G工厂智能制造数字孪生可视化平台正是推进行业数字化转型的关键技术…

微信小程序iOS禁止上下拉显示白边

先上图暴露出问题 iOS端这个页面明明正好显示的&#xff0c;非要能下拉上拉给显示出来点白边。这样不就不好看了嘛。。 想了想是不是支持页面下拉导致的&#xff0c;加入以下代码到json文件中。 {"enablePullDownRefresh": false,"usingComponents": {} }…

JVM(4)

垃圾回收问题 垃圾回收算法 通过之前的学习我们可以将死亡对象标记出来了,标记出来后我们就可以进行垃圾回收操作了,在正式学习垃圾处理器之前,我们先来看一下垃圾回收器使用的几种算法. 标记-清除算法 "标记-清除"算法是基础的收集算法.算法分为"标记"…

【LeetCode】876_链表的中间结点_C

题目描述 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 https://leetcode.cn/problems/middle-of-the-linked-list/description/ 示例 提示&#xff1a; 链表的结点数范围是 [1, 100]1 <…

113.龙芯2k1000-pmon(12)- pmon源码对env的解析

本文回答前文思考的问题 112.龙芯2k1000-pmon&#xff08;11&#xff09;- gzrom-dtb.bin 文件的组成-CSDN博客 env写的位置是ff000 后面的500字节&#xff0c;这个位置能否改动呢&#xff1f; 答案是&#xff1a;不可以&#xff01;&#xff01;&#xff01; 否则需要改源码…

flink下载安装部署说明

下载 下载地址 flink-1.16.2下载安装包&#xff0c;flink-1.16.2-bin-scala-2.12.zip资源-CSDN文库 安装 解压目录 启动集群 ./start-cluster.sh 提交作业 ./bin/flink run examples/streaming/WordCount.jar 查看日志 停止集群 ./bin/stop-cluster.sh 开启webui vim c…

adb下载安装及使用教程

adb下载安装及使用教程 一、ADB的介绍1.ADB是什么&#xff1f;2.内容简介3.ADB常用命令1. ADB查看设备2. ADB安装软件3. ADB卸载软件4. ADB登录设备shell5. ADB从电脑上发送文件到设备6. ADB从设备上下载文件到电脑7. ADB显示帮助信息 4.为什么要用ADB 二、ADB的下载1.Windows版…

Components 概览

Components 概览 Compose 中的组件被声明为 Composable &#xff0c;中文意思是可组成的/可合成&#xff0c;也为了与原来 xml 和 View&#xff08;ViewGroup&#xff09;做出区分。在使用过程中会体会到&#xff0c;使用 Compose 声明 UI 更像是在拼图。 Compose 提供了 Mat…

2024年sCrypt编程马拉松即将开幕

BSV区块链的建设者们&#xff0c;你们在哪&#xff1f;2024年sCrypt编程马拉松即将拉开帷幕&#xff01; 2024年3月16日至17日&#xff0c;我们将在旧金山市举办一场以比特币智能合约&#xff08;即 sCrypt&#xff09;和比特币通证&#xff08;如Ordinals&#xff09;相结合为…

jstat命令查看jvm的GC信息

文章目录 前言jstat命令查看jvm的GC信息1. 概述2. 应用堆内存水位阀值大小怎么确定3. 使用 jps 命令查看 Java 进程的进程号&#xff08;PID&#xff09;![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5097401443314e9d808a83b694dbc6e5.png)4. jstat用法5. 类加载…

农产品质量追溯系统—简介

概要 农产品质量安全事关广大人民群众的食用安全和身体健康。解决农产品质量安全问题,需要从源头开始抓好、抓实农产品安全监管工作。通过建立从产地到市场的全程质量控制系统和追溯制度,对农产品产地环境、生产过程、产品检测、包装盒标识等关键环节进行监督管理,提高广大…

php 把数字转化为大写中文

1. 120002129.25 转化后壹億贰仟萬贰仟壹佰贰拾玖圆贰角伍分2. 12000.2145 转化后壹萬贰仟圆贰角壹分肆厘伍毫3. 1020001211 转化后壹拾億贰仟萬壹仟贰佰壹拾壹圆整大致思路这样的: 从小数点分割成两部分,整数部分和小数部分分别处理。 整数四个一组进行处理,用substr函数分…