当前位置: 首页 > news >正文

MySQl 中对数据表的增删改查(基础)

MySQl 中对数据表的增删改查(基础)

  • 新增
    • 演示
      • 插入一条数据
      • 插入多条数据
  • 查询
    • 全列查询
    • 部分列查询
    • 查询关于列名的表达式
    • 查询时用别名
    • 查询去重后的结果
    • 查询排序后的结果
    • 条件查询
      • 比较运算符和逻辑运算符
    • 分页查询
  • 修改
  • 删除

黑白图是在命令行里的,彩色图是在 navicat (数据库客户端工具)里截屏的。

该数据库口音不敏感、大小写不敏感

下面的增删改查均对下面的 数据表进行操作。

在这里插入图片描述
注意:[ ] 用中括号里括起来的是可省略部分

新增

新增一条数据

语句: insert into 表名 (列名[, 列名 …]) values(值[, 值]);

表名后的列名写多少个,那么后面的值就需要有多少个,当写了表中的所有列名时,可以省略所有的列名。

一次性插入多条数据:

语句: insert into 表名 (列名[, 列名 …]) values(值[, 值]) , (值[, 值]), (值[, 值])…;

插入几条数据,那么就写多少个括号


演示

插入一条数据


插入全部列:

插入表之前的数据

在这里插入图片描述

插入一条全部列的数据:
在这里插入图片描述
在这里插入图片描述
如果表名后面没有写列名,则代表也是全列插入一条数据。

在这里插入图片描述
在这里插入图片描述

插入部分列:
在这里插入图片描述

这里只插入了 id, name, chinese 列的值

在这里插入图片描述
所以数学成绩和英语成绩就被 置为了 NULL,置为了NULL的原因是表每个属性都会有个默认值,当没有给赋值的情况下就会将默认值填进去。

在这里插入图片描述


插入多条数据

在这里插入图片描述如果表名后面没有写特定的列名时,就代表是全列插入,插入多条数据只是在原来一条数据的后面接着写。

在这里插入图片描述

查询

全列查询

语法:select * from 表名;

星号代表通配符,代表是全部列。

在这里插入图片描述
不过值得注意的是,这种查询极其危险,因为一般在实际工作中时数据的级别会非常大,那么一次查询全部的数据会直接占满 资源。

部分列查询

语法:select 列名[, 列名…] from 表名

想查询那个列,那么就写几个列名。

在这里插入图片描述
在这里插入图片描述

语句当中写的列名的顺序也是表的左右顺序。

在这里插入图片描述
//这种查询也蛮危险的,没有限制的查询都挺危险的,值得注意

查询关于列名的表达式

也可以查询关于列名的表达式,语法与查询部分列是一样的,只不过可以查询。

比如查询所有成绩之和,也就是语文、数学、英语成绩相加。

在这里插入图片描述

只要是合法的运算,都是可以查询的。

不过这样查询出来会发现列名有点长,且不好一眼看出来,我们可以给原本的列名换个名字

查询时用别名

语法:select 列名 [as] 别名 [, 列名 [as] 别名…] from 表名

也就是在对应的列名后 加上as 再加上设置的别名。

比如刚才的总成绩我们可以这样写
在这里插入图片描述

这里的 as 也可以省略,并且别名的引号在没有空格时也是可以省略的。

当别名里出现空格的时候就必须用单引号引起来,否则就会报错。

在这里插入图片描述

查询去重后的结果

语法: select distinct 列名[, 列名…] from 表名

只是在select后面加了一个 distinct 关键字。

只有当查询时写的所有列名的值都相等时,才会判定为是重复的数据,查询时就不会被显示了。

现在的数据表的数据如下:
在这里插入图片描述
数学成绩当中有两个 98

在这里插入图片描述
所以去重后只会显示一个 98.

当我们加上 id 这个列再查询后,此时就不会被认定为重复的数据

在这里插入图片描述

查询排序后的结果

语法:select 列名[, 列名…] from 表名 order by 列名 [asc | desc] [, 列名 [asc | desc]…]

在之前的查询语句后加了个 order by, asc代表升序(ascend),desc代表降序(descend),也可以不写,默认是 asc。

例如查询个数学成绩降序:
在这里插入图片描述
值得注意的是,NULL比任何值都要小


也可以先按数学成绩排序,再按英语成绩排序,只需要接着再后面写即可。

在这里插入图片描述
此时在数学成绩相同时,就再按英语成绩降序排序。


在order by 后面的列名也可以使用别名,比如将总分 按降序排列

在这里插入图片描述

条件查询

在刚才的所有查询中,都没有任何的限制,一查就是整张表的数据,这在实际工作中是十分危险的,所以我们需要了解条件查询。

在了解条件查询前需要先了解 SQL中的比较运算符和逻辑运算符。

比较运算符和逻辑运算符

比较运算符:

比较运算符说明
>=, >, <=, <大于等于、大于、小于等于、小于,与java、cpp中的用法一样
=判断相等,对于NULL不适用
<=>判断相等,对于NULL适用
!=, <>判断不相等
IS NULL是否为空
IS NOT NULL是否不为空
BETWEEN st AND ed判断是否在 [st, ed]区间内
IN(option, …)判断是否是 option 当中的一个
LIKE模糊匹配, %代表匹配零个或多个字符,_(下划线)代表仅匹配一个字符

逻辑运算符:

逻辑运算符说明
AND并且,有假则假,全真则真
OR或者,有真则真,全假则假
NOT条件为真,则结果为假,反之相反

其中 AND 的优先级高于 OR,如果实在不确定优先级可以统统使用小括号来强制优先。


= 是无法判断 NULL的,无论 判断NULL是否等于何值时,都会返回NULL

在这里插入图片描述

当不含有NULL时,相等则返回1代表true,不相等则返回0代表 false。

在这里插入图片描述

当需要判断 NULL时,需要使用 <=> 符号

在这里插入图片描述


条件查询语法:

select 列名[, 列名…] from 表名 where 限制条件[, 限制条件][order by…]

where 需要写在表名后 及 order by 的前面(如果写了排序)。


示例:

  1. 查询数学成绩高于70分的同学及数学成绩

在这里插入图片描述

  1. 查询语文成绩比数学成绩高的同学

在这里插入图片描述

  1. 查询数学成绩为 98 的同学的所有成绩
    在这里插入图片描述

  2. 查询语文成绩在70分到80分之间的 同学
    在这里插入图片描述
    在这里插入图片描述

  3. 查询语文成绩是 70、75、80的同学

在这里插入图片描述
6. 查询名字的第一个字是孙的同学及其成绩
在这里插入图片描述

  1. 查询名字只有两个字的且姓孙的同学的成绩

在这里插入图片描述

注意事项:条件当中不能写别名

比如如果我们想查询总分大于200 分的同学,那么是不能使用别名的。
在这里插入图片描述

这是因为执行关键字的顺序不同

比如我想查询语文成绩大于 70的同学,并且升序排列

在这里插入图片描述
在这里插入图片描述
在这句语句中关键字执行的顺序如图所示,

  1. 首先利用from 关键字找到目标数据表
  2. 利用where关键字筛选数据行
  3. 执行select关键字找到对应数据列
  4. 最后执行order by 排序

所以这也就是为什么 order by 后面可以使用别名但是 where后面不行,因为order by的执行在 select 的后面,所以认识别名。

分页查询

分页查询有三种语法:

  1. select 列名[, 列名…] from 表名 [… …]limit n(从下标 0 开始 查询 n 条数据)

  2. select 列名[, 列名…] from 表名 [… …]limit s, n(从下标 s 开始 查询 n 条数据)

  3. select 列名[, 列名…] from 表名 [… …]limit n offset s(从下标 s 开始 查询 n 条数据)

这里的[… …]代表 可以加 where 或者 order by 等前面的关键字,都是可以组合的。


查询语文成绩前三名的同学:

在这里插入图片描述

查询数学成绩 5 ~ 10名的成绩:在这里插入图片描述


修改


语法: update 表名 set 修改的赋值语句, […] [where…][order by…] [limit…]


示例:

修改前:
在这里插入图片描述

  1. 将张飞同学的数学成绩修改成50
    在这里插入图片描述

  2. 将语文成绩倒数前三的同学的语文成绩 加上10分
    在这里插入图片描述

  3. 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分

在这里插入图片描述

删除

语法:delete from 表名 [where…] [order by…] [limit…]

删除操作一般不会用到,也比较危险


示例:

将总分最后一名的同学开除:

在这里插入图片描述


相关文章:

MySQl 中对数据表的增删改查(基础)

MySQl 中对数据表的增删改查&#xff08;基础&#xff09; 新增演示插入一条数据插入多条数据 查询全列查询部分列查询查询关于列名的表达式查询时用别名查询去重后的结果查询排序后的结果条件查询比较运算符和逻辑运算符 分页查询 修改删除 黑白图是在命令行里的&#xff0c;彩…...

LVS知识点整理及实践

LVS知识点整理及实践 LVSlvs集群概念lvs概念lvs集群类型lvs-nat模型数据逻辑: lvs-DR模式数据传输和过程:特点: lvs-tun模式数据传输过程:特点: lvs-fullnet模式数据传输过程 lvs调度算法lvs调度算法类型lvs静态调度算法lvs动态调度算法4.15版本内核以后新增调度算法 ipvsadm命…...

Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式

目录 摘要目的安装和卸载特别说明 Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式 摘要 Ubuntu版本&#xff1a;ubuntu24.04 主题下载地址&#xff1a;https://github.com/vinceliuice/WhiteSur-gtk-theme 参考的安装教程&#xff1a;https://blog.51cto.com/u_…...

计算机毕业设计选题推荐-办公用品管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

计算机毕业设计选题推荐-网上考试系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

白骑士的Matlab教学基础篇 1.4 函数与脚本

系列目录 上一篇&#xff1a;白骑士的Matlab教学基础篇 1.3 控制流 函数和脚本是 MATLAB 编程中的基本组成部分&#xff0c;它们使得代码更加模块化、可重用和组织化。通过理解函数的定义与调用、参数与返回值&#xff0c;以及 MATLAB 脚本与批处理&#xff0c;可以显著提高编…...

Qt——多线程

一、QThread类 如果要设计多线程程序&#xff0c;一般是从QThread继承定义一个线程类&#xff0c;并重新定义QThread的虚函数 run() &#xff0c;在函数 run() 里处理线程的事件循环。 应用程序的线程称为主线程&#xff0c;创建的其他线程称为工作线程。主线程的 start() 函数…...

技术周总结 08.05-08.11周日(scala git回滚)

文章目录 一、08.06 周二1.1) 问题01 mac安装 scala:1. 使用 Homebrew2. 使用 SDKMAN!其他注意事项1. 确认 Scala 安装位置2. 设置 PATH 环境变量对于 zsh (macOS Catalina 及更高版本默认使用 zsh):对于 bash (如果您使用的是 bash shell): 3. 验证安装 二、08.09 周五2.1&…...

ffmpeg 命令图片和视频转换

1、截图 ffmpeg -i d:\input.mp4 -ss 0:0:10 d:\output.jpg //指定输出分辨率 ffmpeg -i d:\input.mp4 -y -f image2 -ss 0:0:10 -vframes 1 -s 640x360 d:\output.jpg 2、视频分拆图片 ffmpeg -r 输入帧率 -i d:\input.mp4 -r 输出帧率 "d:\outputDir\frame_%04d.jp…...

力扣 | 动态规划 | 在字符串的应用 | 最长回文子串、最长回文子序列、单词拆分、编辑距离

文章目录 1.最长回文子串2.最长回文子序列3.单词拆分4.编辑距离5. 共同点和思路6. 各个问题的思路和扩展1. 最长回文子串2. 最长回文子序列3. 单词拆分4. 编辑距离 在解答字符串动态规划的应用时&#xff0c;我们需要非常注意一个问题&#xff1a;   有时候我们定义 d p [ i …...

【docker】docker容器部署常用服务

1、容器部署nginx&#xff0c;并且新增一个页面 docker run -d -p 81:80 --name nginx2 nginx docker exec -it nginx2 /bin/bashcd /usr/share/nginx/html/ echo "hello world">>hello.html2、容器部署redis&#xff0c;成功部署后向redis中添加一条数据 do…...

CentOS 7.6 安装 Weblogic

注&#xff1a;本教程是以虚拟机作为安装环境&#xff0c;如果您公司需要安装 Weblogic 服务器&#xff0c;请先以虚拟机模拟安装一遍&#xff0c;否则出现失误&#xff0c;概不负责&#x1f601;。 一、环境 虚拟机&#xff1a;VMware Workstation 16 Linux&#xff1a;Cent…...

一键清除电脑隐私痕迹,Privacy Eraser助你轻松搞定!

前言 在数字时代&#xff0c;隐私就像是我们手中的细沙&#xff0c;不经意间就可能从指缝间溜走&#xff1b;你是否也曾担心&#xff0c;自己的每一次点击、每一次浏览&#xff0c;都可能成为别人眼中的“秘密”&#xff1f;别急&#xff0c;今天小江湖就要带你走进一款神秘的…...

火语言RPA桌面元素库使用方法

使用火语言RPA自动选取工具获得桌面中元素&#xff1a; 工具标识 桌面 分组下组件若有此标识&#xff0c;则包含选择元素工具&#xff0c;点击此标识会进行选择元素操作。 桌面元素库介绍 ① 根据元素名称筛选元素库中保存的元素 ② 元素库&#xff0c;显示已经保存的元素名…...

FTP.JBoss,Ldap,Rsync未授权访问漏洞(附带修复方法)

一.FTP未授权访问漏洞(匿名登陆) FTP 弱⼝令或匿名登录漏洞&#xff0c;⼀般指使⽤ FTP 的⽤户启⽤了匿名登录功能&#xff0c;或系统⼝令的⻓度太短、复杂度不够、仅包含数字、或仅包含字⺟等&#xff0c;容易被⿊客攻击&#xff0c;发⽣恶意⽂件上传或更严重的⼊侵⾏为。 漏…...

全新在线客服系统源码(pc+h5+uniapp+公众号小程序+抖音)附搭建接入教程

全新在线客服系统源码介绍 一、系统概述与优势 本系统是一款基于PHP的开源在线客服系统&#xff0c;支持PC端、移动端&#xff08;小程序&#xff09;、H5页面以及Uniapp多端接入。系统利用网络技术和人工智能技术&#xff0c;实现用户与客服人员的即时聊天沟通&#xff0c;有…...

为具有公网IPV6地址的服务器安装nextcloudAIO并使用NginxProxyManager配置反向代理

软件和硬件环境 ubuntu server 24.04&#xff0c;并已配置好ipv6公网地址&#xff0c;已安装好docker和docker-compose。一块单独的硬盘&#xff0c;用于单独存储nextcloud数据。&#xff08;非必需&#xff09;有一个能够正常解析的域名&#xff0c;并已配置好AAAA记录解析。…...

挖矿宝藏之TCP/IP

目录 一、TCP/IP简介 1.TCP自述 2.IP自述 二、TCP/IP 寻址 1.IP V6 2.域名 三、TCP/IP协议 一、TCP/IP简介 TCP/IP 指传输控制协议/网际协议&#xff08;Transmission Control Protocol / Internet Protocol&#xff09;&#xff0c;是供已连接因特网的计算机进行通信的…...

略谈set与map的pair封装与进入哈希

引子&#xff1a;之前我们讲了红黑树的自实现&#xff0c;与小小的接口实现&#xff0c;那set与map的pair封装是如何实现的呢&#xff1f;&#xff0c;今天我们来一探究竟&#xff0c;而且我们也要进入新章节--哈希 对于operator--()的封装&#xff1a; 注意&#xff1a;牢记思…...

android13 串口编号修改 串口名修改

总纲 android13 rom 开发总纲说明 目录 1.前言 2.技术分析 别名定义的语法规则 3.修改示例 使用别名 注意事项 4.不生效分析 5.编译查看 6.其他方法 7.彩蛋 1.前言 更改Android设备的串口编号涉及对系统深层次的配置进行修改,通常是为了解决硬件兼容性问题或满足特…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...