「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,在同时使用时,需要使用小括号()包裹优先执行的部分

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

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

相关文章

IIS部署.Net 7项目

&#x1f468; 作者简介&#xff1a;大家好&#xff0c;我是Taro&#xff0c;前端领域创作者 ✒️ 个人主页&#xff1a;唐璜Taro &#x1f680; 支持我&#xff1a;点赞&#x1f44d;&#x1f4dd; 评论 ⭐️收藏 文章目录 前言一、发布项目二、解决发布失败1.发布失败2.托管…

深入理解计算机系统笔记

1.1 嵌套的数组 当我们创建数组的数组时&#xff0c;数组分配和引用的一般原则也是成立的。 例如&#xff0c;声明 int A[5][3]; 等价于下面的声明 typedef int row3_t[3]; row3_t A[5] 要访问多维数组的元素&#xff0c;编译器会以数组起始为基地址&#xff0c; (可能需…

【Ai生态开发】Spring AI上架,打造专属业务大模型,AI开发再也不是难事!

大家好 这里是苏泽 后端是工作 ai是兴趣 对于ai的产生我的立场是拥抱ai的 是希望拿他作为提升能力的工具 那么这一篇带大家来学习如何使用ai打造一个专属的业务大模型 需求 就是说假设现在有一个 商城系统 里面有查询订单的api和获取商品购买方式的api 用户只需要输入 “…

C++二叉搜树的实现(递归和非递归)

目录 1.什么是二叉搜索树 2.二叉搜索树的查找 3.二叉搜索树插入 4.二叉搜索树的删除 1.删除的节点只有左子树或者右子树 2.删除节点左右子树都有的情况 5.代码 1.什么是二叉搜索树 左节点的值小于根节点 右节点大于根节点 左右子树也满足上面两个条件 例&#xff1a;…

平台工程与安全

平台工程不是为了取代DevOps&#xff0c;而是DevOps的进一步演进和发展。本文介绍了DevOps和平台工程&#xff0c;以及对于安全的意义。原文: Platform Engineering and Security: A Very Short Introduction 中国云南大理的日落 我是一名 DevOps 工程师&#xff0c;个人还是希…

Android WebView访问网页+自动播放视频+自动全屏+切换横屏

一、引言 近期&#xff0c;我发现电视家、火星直播等在线看电视直播的软件都已倒闭&#xff0c;而我奶奶也再无法通过这些平台看电视了。她已六十多岁&#xff0c;快七十岁啦。这些平台的倒下对我来说其实没有多大的影响&#xff0c;但是对于文化不多的她而言&#xff0c;生活中…

蓝桥杯算法 一.

分析&#xff1a; 本题记录&#xff1a;m个数&#xff0c;异或运算和为0&#xff0c;则相加为偶数&#xff0c;后手获胜。 分析&#xff1a; 369*99<36500&#xff0c;369*100>36500。 注意&#xff1a;前缀和和后缀和问题

【wpf】关于绑定的一点明悟

背景简介 软件功能为&#xff0c;读取一个文件夹下的所有子文件夹&#xff0c;每个文件夹对自动对应生成 一组 “按键四个勾选” 按键点击触发&#xff0c;可以发送与其对应文件夹中的一些内容。这个绑定的过程我在之前的文章有过详细的介绍&#xff0c;非常的简单。 这里回顾…

mac jupyter使用现有的python环境

mood&#xff1a;python 编程真的是在反复的与自己和解啊 本来超级的畏难情绪 读会儿书 计算机博士的书 感觉还是要坚强的。《研磨记》--一位博士生的回忆录 作者技术真的强啊 正文开始&#xff1a; 聚焦搜索&#xff0c;打开终端激活虚拟环境&#xff1a;conda activate pyt…

外汇天眼:ASIC 获得针对前 Blockchain Global 董事的临时出行限制令

澳大利亚证券与投资委员会&#xff08;ASIC&#xff09;已经针对前Blockchain Global Limited&#xff08;清算中&#xff09;董事梁国&#xff08;又名Allan Guo&#xff09;获得了临时旅行限制令。这些命令在其他方面&#xff0c;阻止郭先生在2024年8月20日或进一步命令之前离…

(done) 如何计算 Hessian Matrix 海森矩阵 海塞矩阵

参考视频1&#xff1a;https://www.bilibili.com/video/BV1H64y1T7zQ/?spm_id_from333.337.search-card.all.click 参考视频2&#xff08;正定矩阵&#xff09;&#xff1a;https://www.bilibili.com/video/BV1Ag411M76G/?spm_id_from333.337.search-card.all.click&vd_…

windows安装部署node.js以及搭建运行第一个Vue项目

一、官网下载安装包 官网地址&#xff1a;https://nodejs.org/zh-cn/download/ 二、安装程序 1、安装过程 如果有C/C编程的需求&#xff0c;勾选一下下图所示的部分&#xff0c;没有的话除了选择一下node.js安装路径&#xff0c;直接一路next 2、测试安装是否成功 【winR】…

华为OD机试真题-智能成绩表-2023年OD统一考试(C卷)---Python3--开源

题目&#xff1a; 考察内容&#xff1a; sort(双排序&#xff09; if dict(keys;items()) 代码&#xff1a; """ analyze:input: int n 学生人数&#xff1b; int m 科目数量 科目名称&#xff08;不重复&#xff09; 人名(不会重名&#xff09; 科目成绩 …

Python 在Word中查找并高亮指定文本

当你需要在长文档或报告中快速找到特定的关键词或短语&#xff0c;Word中提供的查找并高亮这一功能可以帮助你迅速定位这些内容。本文将介绍如何使用Python在Word中查找并突出显示指定的文本。 所需工具&#xff1a;第三方库 Spire.Doc for Python。该库支持创建、编辑、转换Wo…

HDL FPGA 学习 - FPGA基本要素,开发流程,Verilog语法和规范、编写技巧

目录 Altera FPGA 基本要素 FPGA 开发流程和适用范围 设计和实施规范 顶层设计的要点 Verilog HDL 语法规范 编写规范 设计技巧 编辑整理 by Staok&#xff0c;始于 2021.2 且无终稿。转载请注明作者及出处。整理不易&#xff0c;请多支持。 本文件是“瞰百易”计划的…

SQL注入漏洞解析--less-6

1.第六关了。 2.这个和第五关有点像&#xff0c;只是换成了双引号&#xff0c;接下来的都一样&#xff0c;看我操作(换个函数试一下extractvalue&#xff0c;他的报错位置在第二个&#xff0c;那我就利用一下) 3.爆库名 ?id1"%20and%20extractvalue(1,concat(0x7e,(sele…

刷题日记 | 字符串扩容和增强型for循环

for(char c:s)遍历字符串 增强型for循环 C for(char c:s)遍历字符串 增强型for循环_c for (char c : s)-CSDN博客 字符串使用前要进行扩容 reserve函数 【CString类成员函数辨析】resize(),size(),capacity(),reserve()函数的解析与对比_c reserve函数-CSDN博客 a.size() 用来…

告警闪现后的故障排查

长期以来&#xff0c;医院信息化运维中存在着科室复杂、应用场景多、终端运维工作量大、软件系统兼容需求强等诸多痛点&#xff0c;且对技术设备的稳定性、连续性要求极高&#xff0c;在日常运维中&#xff0c;需要应对和解决这些问题来保障业务稳定、健康运行。 1、数据孤岛 …

Centos6安装PyTorch要求的更高版本gcc

文章目录 CentOS自带版本安装gcc 4的版本1. 获取devtoolset-8的yum源2. 安装gcc3. 版本检查和切换版本 常见问题1. 找不到包audit*.rpm包2. 找不到libcgroup-0.40.rc1-27.el6_10.x86_64.rpm 的包4. cc: fatal error: Killed signal terminated program cc1plus5. pybind11/pybi…

安达发|可视化APS高级排产系统实现精益制造

精益制造已经成为了一种重要的生产模式&#xff0c;它的目标是通过消除浪费&#xff0c;提高生产效率&#xff0c;以实现更高的质量和更低的成本。而可视化APS高级排产系统则是实现精益制造的重要工具。下面&#xff0c;我将从接单可视化、BOM工艺可视化、计划与排程可视化、制…