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设备的串口编号涉及对系统深层次的配置进行修改,通常是为了解决硬件兼容性问题或满足特…...
视觉隐形:在亚马逊,为何模仿“IBM式缩写”是新品牌的认知坟墓
在亚马逊这个由清晰搜索和快速决策驱动的商业世界,无数新卖家犯下一个致命的战略性错误:他们看到“IBM”、“GE”等巨无霸公司使用缩写名,便误以为这是一种高级、专业的品牌姿态,于是为自己的新品牌也注册了诸如“KMZ Tech”、“V…...
PS CC 2019安装避坑指南:解决86%卡住和D3DCOMPILER_47.dll缺失问题
Photoshop CC 2019完整安装指南:从下载到故障排除 Photoshop CC 2019作为Adobe Creative Cloud系列中的重要版本,至今仍被许多设计师和摄影师所青睐。虽然Adobe已推出更新的版本,但2019版因其稳定性和适中的系统需求,依然是中低配…...
深入ComfyUI插件系统:从启动流程看自定义节点(Custom Nodes)是如何被动态加载的
深入ComfyUI插件系统:从启动流程看自定义节点(Custom Nodes)是如何被动态加载的 在AIGC技术快速发展的今天,ComfyUI凭借其高度模块化的设计成为众多开发者的首选工具。对于想要深度定制工作流或开发专属插件的进阶开发者而言&…...
华为OD生存指南:转正挑战、身份认知与职业适配
1. 华为OD转正挑战的真相 刚入职华为OD时,很多人都会被HR描述的转正路径所吸引。四步转正流程听起来清晰明了:有HC、拿绩效A、通过可信认证、工作满一年。但真正进入这个体系后,你会发现每个环节都暗藏玄机。 关于HC(Head Count…...
避开理论深坑:给开发者的机器学习实用入门指南(附周志华《机器学习》高效阅读路线)
避开理论深坑:给开发者的机器学习实用入门指南 作为一名开发者,你可能已经意识到机器学习正在改变我们解决问题的方式。从推荐系统到图像识别,从自然语言处理到预测分析,机器学习正在成为现代软件开发不可或缺的一部分。但当你翻开…...
nanobot应用场景:用Qwen3-4B构建Linux运维助手,自动解析nvidia-smi输出
nanobot应用场景:用Qwen3-4B构建Linux运维助手,自动解析nvidia-smi输出 1. 项目介绍:超轻量级AI运维助手 nanobot是一款受OpenClaw启发的超轻量级个人人工智能助手,专门为Linux运维场景设计。这个工具最大的特点是轻量高效&…...
当触控板遇见鼠标:一场被重构的滚动革命
当触控板遇见鼠标:一场被重构的滚动革命 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 在MacBook Pro的触控板上轻扫手指,网页随指尖方向自然滚动&#…...
Qwen3-0.6B-FP8详细步骤:WebUI中max_new_tokens参数设置避坑指南
Qwen3-0.6B-FP8详细步骤:WebUI中max_new_tokens参数设置避坑指南 1. 引言:一个参数引发的“血案” 最近在折腾Qwen3-0.6B-FP8这个轻量级模型时,我遇到了一个挺有意思的问题。当时我正在测试它的“思考模式”——就是那个能展示模型内部推理…...
如何高效管理LiteDB数据库?LiteDB.Studio实战指南与深度解析
如何高效管理LiteDB数据库?LiteDB.Studio实战指南与深度解析 【免费下载链接】LiteDB.Studio A GUI tool for viewing and editing documents for LiteDB v5 项目地址: https://gitcode.com/gh_mirrors/li/LiteDB.Studio 在现代软件开发中,嵌入式…...
用51单片机+Proteus仿真,从零到一复刻一个数码管电子钟(附完整代码和电路图)
从零构建51单片机数码管电子钟:Proteus仿真与实战全解析 数码管电子钟作为单片机入门经典项目,能系统训练定时器、中断、数码管驱动等核心技能。但很多初学者在独立实现时,常遇到仿真效果不稳定、显示闪烁或计时不准等问题。本文将用保姆级教…...
