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设备的串口编号涉及对系统深层次的配置进行修改,通常是为了解决硬件兼容性问题或满足特…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...
AD学习(3)
1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...
CSS3相关知识点
CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...
