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 的前面(如果写了排序)。
示例:
- 查询数学成绩高于70分的同学及数学成绩

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

-
查询数学成绩为 98 的同学的所有成绩

-
查询语文成绩在70分到80分之间的 同学


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

6. 查询名字的第一个字是孙的同学及其成绩

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

注意事项:条件当中不能写别名
比如如果我们想查询总分大于200 分的同学,那么是不能使用别名的。

这是因为执行关键字的顺序不同
比如我想查询语文成绩大于 70的同学,并且升序排列


在这句语句中关键字执行的顺序如图所示,
- 首先利用from 关键字找到目标数据表
- 利用where关键字筛选数据行
- 执行select关键字找到对应数据列
- 最后执行order by 排序
所以这也就是为什么 order by 后面可以使用别名但是 where后面不行,因为order by的执行在 select 的后面,所以认识别名。
分页查询
分页查询有三种语法:
-
select 列名[, 列名…] from 表名 [… …]limit n(从下标 0 开始 查询 n 条数据)
-
select 列名[, 列名…] from 表名 [… …]limit s, n(从下标 s 开始 查询 n 条数据)
-
select 列名[, 列名…] from 表名 [… …]limit n offset s(从下标 s 开始 查询 n 条数据)
这里的[… …]代表 可以加 where 或者 order by 等前面的关键字,都是可以组合的。
查询语文成绩前三名的同学:

查询数学成绩 5 ~ 10名的成绩:
修改
语法: update 表名 set 修改的赋值语句, […] [where…][order by…] [limit…]
示例:
修改前:

-
将张飞同学的数学成绩修改成50

-
将语文成绩倒数前三的同学的语文成绩 加上10分

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

删除
语法:delete from 表名 [where…] [order by…] [limit…]
删除操作一般不会用到,也比较危险
示例:
将总分最后一名的同学开除:

完
相关文章:
MySQl 中对数据表的增删改查(基础)
MySQl 中对数据表的增删改查(基础) 新增演示插入一条数据插入多条数据 查询全列查询部分列查询查询关于列名的表达式查询时用别名查询去重后的结果查询排序后的结果条件查询比较运算符和逻辑运算符 分页查询 修改删除 黑白图是在命令行里的,彩…...
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版本:ubuntu24.04 主题下载地址:https://github.com/vinceliuice/WhiteSur-gtk-theme 参考的安装教程:https://blog.51cto.com/u_…...
计算机毕业设计选题推荐-办公用品管理系统-Java/Python项目实战
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...
计算机毕业设计选题推荐-网上考试系统-Java/Python项目实战
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...
白骑士的Matlab教学基础篇 1.4 函数与脚本
系列目录 上一篇:白骑士的Matlab教学基础篇 1.3 控制流 函数和脚本是 MATLAB 编程中的基本组成部分,它们使得代码更加模块化、可重用和组织化。通过理解函数的定义与调用、参数与返回值,以及 MATLAB 脚本与批处理,可以显著提高编…...
Qt——多线程
一、QThread类 如果要设计多线程程序,一般是从QThread继承定义一个线程类,并重新定义QThread的虚函数 run() ,在函数 run() 里处理线程的事件循环。 应用程序的线程称为主线程,创建的其他线程称为工作线程。主线程的 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. 编辑距离 在解答字符串动态规划的应用时,我们需要非常注意一个问题: 有时候我们定义 d p [ i …...
【docker】docker容器部署常用服务
1、容器部署nginx,并且新增一个页面 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,成功部署后向redis中添加一条数据 do…...
CentOS 7.6 安装 Weblogic
注:本教程是以虚拟机作为安装环境,如果您公司需要安装 Weblogic 服务器,请先以虚拟机模拟安装一遍,否则出现失误,概不负责😁。 一、环境 虚拟机:VMware Workstation 16 Linux:Cent…...
一键清除电脑隐私痕迹,Privacy Eraser助你轻松搞定!
前言 在数字时代,隐私就像是我们手中的细沙,不经意间就可能从指缝间溜走;你是否也曾担心,自己的每一次点击、每一次浏览,都可能成为别人眼中的“秘密”?别急,今天小江湖就要带你走进一款神秘的…...
火语言RPA桌面元素库使用方法
使用火语言RPA自动选取工具获得桌面中元素: 工具标识 桌面 分组下组件若有此标识,则包含选择元素工具,点击此标识会进行选择元素操作。 桌面元素库介绍 ① 根据元素名称筛选元素库中保存的元素 ② 元素库,显示已经保存的元素名…...
FTP.JBoss,Ldap,Rsync未授权访问漏洞(附带修复方法)
一.FTP未授权访问漏洞(匿名登陆) FTP 弱⼝令或匿名登录漏洞,⼀般指使⽤ FTP 的⽤户启⽤了匿名登录功能,或系统⼝令的⻓度太短、复杂度不够、仅包含数字、或仅包含字⺟等,容易被⿊客攻击,发⽣恶意⽂件上传或更严重的⼊侵⾏为。 漏…...
全新在线客服系统源码(pc+h5+uniapp+公众号小程序+抖音)附搭建接入教程
全新在线客服系统源码介绍 一、系统概述与优势 本系统是一款基于PHP的开源在线客服系统,支持PC端、移动端(小程序)、H5页面以及Uniapp多端接入。系统利用网络技术和人工智能技术,实现用户与客服人员的即时聊天沟通,有…...
为具有公网IPV6地址的服务器安装nextcloudAIO并使用NginxProxyManager配置反向代理
软件和硬件环境 ubuntu server 24.04,并已配置好ipv6公网地址,已安装好docker和docker-compose。一块单独的硬盘,用于单独存储nextcloud数据。(非必需)有一个能够正常解析的域名,并已配置好AAAA记录解析。…...
挖矿宝藏之TCP/IP
目录 一、TCP/IP简介 1.TCP自述 2.IP自述 二、TCP/IP 寻址 1.IP V6 2.域名 三、TCP/IP协议 一、TCP/IP简介 TCP/IP 指传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol),是供已连接因特网的计算机进行通信的…...
略谈set与map的pair封装与进入哈希
引子:之前我们讲了红黑树的自实现,与小小的接口实现,那set与map的pair封装是如何实现的呢?,今天我们来一探究竟,而且我们也要进入新章节--哈希 对于operator--()的封装: 注意:牢记思…...
android13 串口编号修改 串口名修改
总纲 android13 rom 开发总纲说明 目录 1.前言 2.技术分析 别名定义的语法规则 3.修改示例 使用别名 注意事项 4.不生效分析 5.编译查看 6.其他方法 7.彩蛋 1.前言 更改Android设备的串口编号涉及对系统深层次的配置进行修改,通常是为了解决硬件兼容性问题或满足特…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
