MySQL基础--表的增删改查

news2024/11/18 17:21:44

目录

  • 一、前言
  • 二、新增(Create)
    • 2.1 单行数据+全列插入
    • 2.2 单行数据+全列插入(简写)
    • 2.3 指定列插入
    • 2.4 多行插入
  • 三、查询
    • 3.1 全列查询
    • 3.2 指定列查询
    • 3.3 查询的结果是一个表达式
      • 3.3.1 把所有的语文成绩在原本的基础上加一分
      • 3.3.2 列与列之间的计算
      • 3.3.3 表达式的别名
      • 3.3.4 结果集中的字段名起别名的语法
    • 3.4去重(distinct)
    • 3.5 排序(order by)
      • 3.5.1 排序规则(升序、降序):
      • 3.5.2 NULL排序规则
      • 3.5.3 使用表达式别名进行排序
      • 3.5.4 注意
    • 3.6 条件查询(where)
      • 3.6.1 原理
      • 3.6.2 比较运算符
      • 3.6.3 逻辑运算符
      • 3.6.4 基本查询
      • 3.6.5 and与or
      • 3.6.5 范围查询
      • 3.6.6 模糊查询 --like
      • 3.6.7 null的查询
    • 3.7 分页查询:LIMIT
      • 3.7.1语法
      • 3.7.2 案例
  • 四、修改(Update)
    • 4.1语法
  • 五、删除(Delete)
    • 5.1语法
    • 5.2 注意

一、前言

                      欢迎大家来到权权的博客~
        欢迎大家对我的博客进行指导,有什么不对的地方,我会及时改进哦~      

博客主页链接点这里–>:权权的博客主页链接

二、新增(Create)


在student 表中新增数据,此时student表为空。
在这里插入图片描述

2.1 单行数据+全列插入

语法:

insert into 表名[(字段1,字段2,字段3)] values(,,);

例如:
在这里插入图片描述
插入成功:
在这里插入图片描述

2.2 单行数据+全列插入(简写)

语法

insert into 表名 values(值,值...);-- 不用在表后面指定列,在values列表中按照表的定义字段的顺序设置相应的值。

例如:
在这里插入图片描述

2.3 指定列插入

语法:

insert into 表名(指定需要插入的字段) values();-- 其他未指定的自动为空。

例如:
在这里插入图片描述

2.4 多行插入

语法:

insert into 表名[(指定列..)] values(值,值),(值,值)...

例如:
在这里插入图片描述

三、查询

3.1 全列查询

语法:

select * from 表名;

例如:查询student 表中的所有记录。
在这里插入图片描述
注意:因为在生产环境当中,一个表中的数据量可能会很多很多,有可能达到TB级:
1.当一个查询开始的时候,磁盘开销,网络开销,都是非常紧缺的资源。
2.如果这一条语句开始执行,那么就有可能把服务器资源吃光,其他的程序或者是数据库操作和要等待SQL执行完之后才能继续执行。
3.建议:不加任何限制(结果集的条数)的查询在生产环境不要使用。
初始化数据:
在这里插入图片描述

3.2 指定列查询

语法:

select 列名,列名... from 表名;

举例(只查询姓名跟语文成绩):
在这里插入图片描述

3.3 查询的结果是一个表达式

数值类型,效果就是让所有的列中都包含一个表达式中的值,他本身并不在我们的真实的表里。
在这里插入图片描述

3.3.1 把所有的语文成绩在原本的基础上加一分

在这里插入图片描述

3.3.2 列与列之间的计算

在这里插入图片描述

3.3.3 表达式的别名

在这里插入图片描述
注意:as 关键字可省略,我们表里原来没有总分这一列,所以通过表达式查询出来的结果集是一个临时表返回给我们的,执行完之后临时表就删除了。

3.3.4 结果集中的字段名起别名的语法

select 列名[as]别名,列名[as]别名...from 表名;

举例(修改ID,name,chinese的名字):
在这里插入图片描述

3.4去重(distinct)

语法:

select distinct 列名 from 表名;

在这里插入图片描述
在这里插入图片描述
加上ID后:
在这里插入图片描述
在这里插入图片描述
加上 ID后虽然English是一样的但是那个id不一样,所以那个distinct不会把他们当作相同的行。
我们再插入一条数据:
在这里插入图片描述
在这里插入图片描述
注意: 去重的时候,只有所有的列都相同才会被认定为重复记录,去重后记录只保留一条。

3.5 排序(order by)

语法:

slect 列名 from 表名 order by 列名 [ASC][DESC]; -- 默认是升序

3.5.1 排序规则(升序、降序):

1.升序:ASC
对数学成绩进行升序排序:
在这里插入图片描述
2.降序:DESC
对数学成绩进行降序排序:
在这里插入图片描述
3.没有写排序规则的时候默认为升序排序,强烈建议明确指定排序规则:
在这里插入图片描述

3.5.2 NULL排序规则

null排序规则,视为比任何值都小,升序出现在最上面,降序出现在最下面。
在这里插入图片描述

3.5.3 使用表达式别名进行排序

在这里插入图片描述

3.5.4 注意

MySQL中的null比较特殊:
1.无论和什么值进行计算,返回的值都是null。
2.null始终都判定为false。
3.null的值不是c语言这种编程语言中的0,在MySQL中他就是null。

3.6 条件查询(where)

3.6.1 原理

根据指定的条件,过滤掉不符合条件的记录,把符合条件的记录返回给用户,可以通过一些运算符,比如比较运算符逻辑运算符和Java中的思路是一样的。

3.6.2 比较运算符

在这里插入图片描述

3.6.3 逻辑运算符

在这里插入图片描述
注意:

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

3.6.4 基本查询

查询数学成绩在60分一下的:
在这里插入图片描述

3.6.5 and与or

查询数学成绩大于90分和语文成绩大于90分的人;
在这里插入图片描述
查询数学成绩大于90分或者语文成绩大于90分的人;
在这里插入图片描述

3.6.5 范围查询

1.between and (相当于and):
查询语文成绩在 [90, 100] 分的同学及语文成绩:
在这里插入图片描述
2.in (相当于or):
查询数学成绩是 92或者 100 或者 99 分的同学及数学成绩:
在这里插入图片描述

3.6.6 模糊查询 --like

– % 匹配任意多个(包括 0 个)字符:
在这里插入图片描述
– _ 匹配严格的一个任意字符:
在这里插入图片描述

3.6.7 null的查询

语法:is [not] null

在这里插入图片描述

3.7 分页查询:LIMIT

前面我们说过不加限制记录条数的查询是不安全的,我们就需要给这些查询加一些限制。

3.7.1语法

-- 起始下标为 0
-- 从 0 开始,筛选 n 条结果
SELECT ... FROMtable_name [WHERE ...] [ORDER BY ...] LIMIT n;
-- 从 s 开始,筛选 n 条结果
SELECT ... FROMtable_name [WHERE ...] [ORDER BY ...] LIMIT s, n;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROMtable_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s

3.7.2 案例

按 id 进行分页,每页 3 条记录,分别显示第 1、2、3 页:

-- 第 1 页
SELECT id, name, math, English, chinese FROM exam_result ORDER BY id LIMIT 3 OFFSET 0;
-- 第 2 页
SELECT id, name, math, English, chinese FROM exam_result ORDER BY id LIMIT 3 OFFSET 3;
-- 第 3 页,如果结果不足 3 个,不会有影响
SELECT id, name, math, English, chinese FROM exam_result ORDER BY id LIMIT 3 OFFSET 6;

在这里插入图片描述
第三页的记录s应该取值的公式:
s=(当前页号-1)*每页显示的记录数

四、修改(Update)

4.1语法

UPDATE table_name SET column = expr [, column = expr ...]    [WHERE ...] [ORDERBY ...] [LIMIT ...]

让小肖的语文成绩变成100分:
在这里插入图片描述
让数学成绩按照升序排序并取前面3条记录:
在这里插入图片描述
把所有英语成绩小于60分的更新为60分:
在这里插入图片描述

五、删除(Delete)

5.1语法

DELETE FROM  table_name [WHERE ...] [ORDERBY ...] [LIMIT ...]

删除小强的成绩:
在这里插入图片描述
删除数学成绩前三的所有同学成绩:
在这里插入图片描述

5.2 注意

如果删除的时候不加where条件限制,那整张表的数据都会清空,这是非常危险的,但是这是可以恢复的,每一条执行的SQL语句都会被记录到日志之中,把日志中的操作,再执行一遍基本上可以恢复。
在这里插入图片描述
欧耶我学会啦!!!!!

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

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

相关文章

Docker精讲:基本安装,简单命令及核心概念

docker服务部署 docker是一个容器管理工具,其内部容器才是具体服务,所以我们在安装docker时不需要有太多定制内容,只需要通过yum安装即可 1. 更新系统包 #更新现有依赖包,防止现有依赖包版本过低影响docker安装 yum update2. 安…

【Python】FeinCMS:轻量级且可扩展的Django内容管理系统

在互联网飞速发展的今天,内容管理系统(CMS)成为了网站开发中的核心工具,尤其对于需要频繁更新内容的企业和个人站点而言,CMS 提供了极大的便利。市场上有许多不同的 CMS 工具可供选择,其中基于 Django 框架…

游戏如何对抗改包

游戏改包是指通过逆向分析手段及修改工具,来篡改游戏包内正常的设定和规则的行为,游戏包被篡改后,会被植入/剔除模块进行重打包。 本期图文我们将通过实际案例分析游戏改包的原理,并分享游戏如何应对改包问题。 安卓平台常见的改…

Arch - 架构安全性_保密(Confidentiality)

文章目录 OverView导图保密保密强度与成本客户端加密密码存储与验证 Code总结 OverView 即使只限定在“软件架构设计”这个语境下,系统安全仍然是一个很大的话题。 接下来我们将对系统安全架构的各个方面进行详细分析,包括认证、授权、凭证、保密、传输…

三菱PLC数据 转 profinet IO项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 网关采集三菱PLC数据 2 5 用PROFINET IO协议转发数据 5 6 其他说明 8 7 案例总结 9 1 案例说明 设置vfbox网关采集三菱PLC数据把采集的数据转成profinet IO协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协…

探索光耦:光耦在电脑电源中的应用及其重要性

随着计算机技术的飞速发展,电脑已成为现代生活和工作中不可或缺的工具。无论是日常办公、游戏娱乐还是复杂的图像处理,电脑电源的稳定性和安全性都至关重要。作为电脑电源的核心部件之一,光耦(光电耦合器)在提升电源性…

智慧场馆智能化设计方案

1. 智慧场馆智能化规划设计方案 本方案针对智慧场馆的智能化系统进行综合设计,包括入侵报警、视频监控、门禁管理、公共广播等子系统,旨在实现智慧、安全、节能的现代化场馆。 2. 系统设计范围 设计内容广泛,覆盖了从安全监控到环6境监测&…

【期刊】论文索引库-SCI\SSCI\IE\南大核心\北大核心\CSCD等

外文期刊检索 SCI SCI即《科学引文索引》(Science Citation Index),是由美国科学信息研究所(Institute for Scientific Information)创建于1961年,收录文献的作者、题目、源期刊、摘要、关键词,不仅可以从文献引证的角度评估文章的学术价值,还可以迅速方便地组建研究课…

基于php的律所管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

Tomcat安装和配置教程(图文详解,最简洁易懂)

本教程主要分为两个部分:Tomcat的下载和安装、Tomcat的配置 前提 Tomcat都需要Java环境,所以首先需要安装JDK,本教程默认已安装JDK1.8 未安装JDK可看JDK安装教程:JDK1.8安装教程 一、Tomcat下载和安装 1、首先进入Apache Tomcat官网&…

ATLAS/ICESat-2 L3B Monthly Gridded Atmosphere (大气月度网格数据集)V005

目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATLAS/ICESat-2 L3B Monthly Gridded Atmosphere V005 简介 该产品报告每周全球云覆盖率、海洋上总列光学深度、极地云覆盖率、风吹雪频率、视表面反照率以及地面探测频率。 参数:云光学…

github双重验证(2FA)启用方法

一、双重验证-2FA 在去年看到过说github启用双重验证的通知,觉得做为一个普通开发者,可能没有这么快会要求启用。结果,今天早晨一来就收到了邮件,要求说在11月底完成2FA的认证,否则权限受限。真是无了语。所谓2FA好理…

基于SSH的酒店管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSH的酒店管理系统拥有三种角色 管理员:用户管理、房间分类管理、房间信息管理、开房管理、退房管理、开房和预订记录查询等 前台:房间分类管理、房间信息管…

工作中使用人工智能的政策和程序的重要性

在当今快速发展的技术环境中,人工智能 (AI) 已成为各行各业业务运营不可或缺的一部分。作为政策管理者,必须了解在组织内制定强有力的 AI 使用政策和程序的重要性。 这不仅可以确保合规性和道德标准,还可以保护组织免受潜在风险并最大限度地…

水分对于生活的重要性

在探讨健康养生的广阔领域中,一个简单却至关重要的元素往往被忽视——那就是水分。水,作为生命之源,不仅维持着人体的基本生理功能,更是健康与活力的基石。今天,让我们一同深入探索水分在健康养生中的不可替代作用&…

代码随想录_刷题记录_第四次

二叉树 — 理论基础 种类: 满二叉树(所有层的节点都是满的,k:深度 节点数量:2^k - 1)完全二叉树(除了最后一层,其余层全满,并且最后一层从左到右连续)二叉搜…

LINUX--调度未来任务

crontab 文件中的用户作业时间格式怎么解释? * * * * * command 分 时 日 月 周 x-y表示范围,包括x,y的值 */x 表示x的间隔 x,y表示列表&am…

内容付费平台开发中的数据安全与用户隐私保护

在内容付费平台的开发过程中,数据安全与用户隐私保护至关重要。保护用户的信息不仅是法律要求,更是建立用户信任的基础。本文将探讨如何在内容付费平台中实现数据安全与隐私保护,并提供一些相关的技术代码示例。 1. 数据加密 数据加密是保…

timedatectl命令:告别时间烦恼,一键同步系统时间

一、命令简介 ​timedatectl​ 命令用于查看和设置系统的时间和日期,以及配置时区和 NTP(Network Time Protocol)设置。 相关命令:cal ​显示日历、 date ​查看、设置日期 ‍ 二、命令参数 格式: timedatectl […

InnoDB索引结构

文章目录 索引数据结构聚集索引非聚集索引 索引维护顺序插入和随机插入为什么预留空间 索引构建过程页的合并拆分 索引数据结构 https://dev.mysql.com/doc/refman/8.4/en/innodb-physical-structure.html 除了空间索引(spatial index)使用R-tree之外&a…