MySQL CRUD操作

 前言👀~

上一章我们介绍了数据库的一些基础操作,关于如何去创建一个数据库,还有使用数据库,删

除数据库以及对表进行的一些基础操作,今天我们学习CRUD操作 俗称(增删改查

如果各位对文章的内容感兴趣的话,请点点小赞,关注一手不迷路,如果内容有什么问题的话,欢迎各位评论纠正 🤞🤞🤞

12b46cd836b7495695ce3560ea45749c.jpeg

个人主页:N_0050-CSDN博客

相关专栏:java SE_N_0050的博客-CSDN博客 java数据结构_N_0050的博客-CSDN博客


insert(新增)

insert into 表名 values(值,值...);(into 可以省略)

还是那句话要对数据库进行操作的时候,要先选中你要进行操作的数据库

使用 单引号 或者 双引号 表示 字符串,SQL没有 字符 这个类型

表记录展示


指定列插入

insert into 表名(列名,列名)values(值,值...) 可以多行数据



这里的null是 成功插入这条语句的id 为null


一次插入多行记录

insert into 表名 values(值,值...),(值,值...)

 表记录展示

插入datatime类型

获取当前时刻的时间 now()方法

 表记录展示


全列查询

把表中的的 所有行所有列 都查询出来 

select * from 表名; (* 表示 通配符 可以代指所有的列)

select * 操作,算是一个危险的操作,如果你的数据库中的记录很多,因为要读取的数据量很大所

以查询时间久速度慢,严重的还会把你的数据库搞挂掉,所以谨慎使用


指定列查询

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


查询字段为表达式(列和列之间的运算,把每一行都带入到这样的运算)

一边查询,一边进行计算,在查询的时候,写作 由列名构造的表达式,把这一列中的

所有行都带入到表达式中,参与运算

这样的操作不会修改数据库服务器上的原始数据,只是在最终响应里的 临时结果 中做

了计算(因为mysql是 客户端-服务器结构的程序,进行查询的时候是把服务器这里的

数据读出来,返回给客户端,并且以 临时表 的形式进行展示)


as(别名)

查询的时候给 列/表达式 指定别名(给表也能指定别名)

select 表达式 as 别名 from 表名;


distinct(去重)

distinct 修饰 某个列/多个列(修饰某个列这些行 值相同的话,我们就只保留一个)(修饰多个列

这些行 值相同的话,我们就只保留一个)

select distinct 列名/列名... from 表名;


修饰多个列,要求这些列这里面的行的数据都得相同才算是重复(就是你要去重选择的列名)


查询的时候排序(把行 进行排序)

默认升序排序

select 列名 from 表名 order by 列名 asc/desc;

select 列名,表达式  from 表名 order by 列名 asc/desc;

select 列名 from 表名 order by 列名,列名 asc/desc;

这里即使我没有选中chinese列,它也是照chinese列进行排序的

我们选中进行验证


指定多个列进行排序(这样根据你先写的列进行排序,如果值相同,按照你后面写的列名进行排序)


注意:

1.针对哪个列作为比较规则

2.排序的时候是升序还是降序

如果一个 sql语句 不加 order by 此时查询的结果数据的顺序,是 “不确定的”/“无序的

NULL 数据排序,视为比任何值都小,null参与各种运算,结果还是null(!!!)

没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序


where(条件查询)

指定具体的条件,按照条件针对数据进行筛选

select 列名 from 表名 where 条件;


认识 比较运算符

=:

我们会发现明明有数学为空的同学,结果它没有显示出来,这是因为在使用 = 去比较 null = null

还是null,null就会被认为是false


<=>:

使用这种等于号 <=>,我们会发现显示出来了


我们还可以使用 is,我们会发现也显示出来了

区别:<=> 操作符用于比较操作,确保即使两边的值为NULL时也能返回相等的结果,而 IS NULL

只用来判断一个字段的值是否为NULL。

In(如果我们的记录,存在in集合里的就能筛选出来)

认识 逻辑运算符

and


 

or

not


select条件查询执行的顺序:

1.遍历表中的每个记录

2.把当前记录的值,带入条件,根据条件进行筛选 (where 第二步执行的)

3.如果这个记录条件成立,就要保留,进行列上的表达式的计算(别名 第三步定义的)

4.如果有order by 会在所有的行都被获取之后(表达式也算完了)再针对所有的结果进行排序


like(模糊匹配)


通配符,就是一些特殊的字符,能够表示特定的含义

%:代指 任意个任意字符

?%:查询以 ?开头的内容

%?:查询以 ?结尾的内容

%?%:查询包含 ?的内容


_:代指 一个任意字符

_?:查询以 ?结尾的内容,前面只有一个字符

?_:查询以 ?开头的内容,后面只有一个字符

?_ _:查询以 ?开头的内容,后面有两个字符


limit(分页查询)

当我们需要保持一次查询,不要查出来的东西太多

select 列名 from 表名 limit 几条记录;

limit 可以限制这次查询最多能查出来多少个结果

select 列名 from 表名 limit 几条记录 offset 从哪个下标开始;

limit 表示这次查询,查出几个记录,offset 表示偏移量,也就是一个“下标”,从0开始


update(修改)

update 表名 set 列名 = 值 where 条件;

这里的 = 出现在 update 里是赋值,出现在 where 里面是比较相等

update 表名 set 列名 = 值,列名 = 值 ... where 条件;

update 后面不写任何条件,就是针对所有行都进行修改

显示警告信息

为什么会报警告信息呢?

如图中唐三藏的语文成绩,本来是42.9但是除了2后就变成21.45,这时候跟我们一开始设置的长度

和保留小数不匹配了,我们设置的是长度为3,保留一位小数,但是现在是长度为4,保留2为小数


delete(删除)

delete from 表名 where 条件/ order by / limit;(删除操作会根据你后面 写的条件 从表中删除)

注意:等于号不要写错了<=>

delete from 表名;(不指定任何条件,就是删除表里的记录)

delete 和 drop 的区别:就是drop table删除了整张表和表里的所有记录,delete呢是只删除表里的记录表还在但是是空的

以上便是增删改查的一些基础操作,这些操作说难也不难,说简单也不简单,还是要勤加练习才能掌握,我们下一章再见💕

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3专栏项目 -- 一、第一个页面(上)

一、ColumnList 组件&#xff08;专栏列表组件&#xff09;编码&#xff1a; 该组件要接收一个数组&#xff0c;数组中是一个个专栏数据&#xff0c;数据中包括id、title、avator、description。所以我们定义一个泛型&#xff0c;泛型为id为number类型title为string类型如下这…

Arduino PlatformIO避坑记

实在受不了Arduino IDE上古时期的界面风格&#xff0c;最要命的是编译速度慢到极点&#xff0c;好在有PlatformIO。VS搭配PlatformIO&#xff0c;有微软加持&#xff0c;界面自然是妥妥的了&#xff0c;编译速度提升也肉眼可见。 至于PlatformIO的安装过程&#xff0c;网上教程…

基于FPGA的数字电子钟VHDL代码Quartus仿真

名称&#xff1a;基于FPGA的数字电子钟VHDL代码Quartus仿真&#xff08;文末获取&#xff09; 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; 数字电子钟 1)设计一个能显示秒、分、时的24小时数字钟 2)用数码管显示出时&#xff0c;分&#xff0c;…

自学错误合集--项目打包报错,运行报错持续更新中

java后端自学错误总结 一.项目打包报错2.项目打包之后运行报错 二.项目运行报错 一.项目打包报错 javac: &#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ļ&#xfffd;: E:\xx\xx\xx\docer-xx\src\main\java\xx\xx\xx\xx\xx\xx.java &#xfffd;&#xff…

【查找算法】之二分查找

一、算法介绍 二分查找&#xff0c;也称为折半查找&#xff0c;是一种在有序数组中查找特定元素的高效算法。对于包含 n 个元素的有序数组&#xff0c;二分查找的步骤如下&#xff1a; 确定搜索范围&#xff1a;首先&#xff0c;将要查找的元素与数组中间的元素进行比较。如果…

qt学习篇---界面按键关联(信号和槽)

目录 1.qt基础 2.做一个界面 创建project UI界面设计 信号和槽 1.控件改名字 2.什么是信号和槽 3.怎么关联信号和槽 自动关联 手动关联 1.qt基础 qt可移植性强&#xff0c;不久会用到MCU。很有意义学习 2.做一个界面 创建project 不要中文路径 选择QWidget .pro文件…

GhostNetV2 Enhance Cheap Operation with Long-Range Attention 论文学习

论文地址&#xff1a;https://arxiv.org/abs/2211.12905 代码地址&#xff1a;https://github.com/huawei-noah/Efficient-AI-Backbones/tree/master/ghostnetv2_pytorch 解决了什么问题&#xff1f; 在计算机视觉领域&#xff0c;深度神经网络在诸多任务上扮演着重要角色。为…

AI去衣技术在动画制作中的应用

随着科技的发展&#xff0c;人工智能&#xff08;AI&#xff09;已经在各个领域中发挥了重要作用&#xff0c;其中包括动画制作。在动画制作中&#xff0c;AI去衣技术是一个重要的工具&#xff0c;它可以帮助动画师们更加高效地完成工作。 AI去衣技术是一种基于人工智能的图像…

信锐交换机简介及应用说明(1)

交换机关键参数及分类 1.线速 线速是指交换机的端口上每秒钟传输的bit数&#xff0c;单位为bps&#xff08;bit per second&#xff0c;即每秒传输多少bit&#xff0c;一个bit也就是一个二进制数0或者1&#xff09;。以我们常见的例子来说明的话&#xff0c;比如100M的网卡就…

【Linux】HTTPS

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;Linux 目录 &#x1f449;&#x1f3fb;HTTPS协议概念&#x1f449;&#x1f3fb;加密为什么要进行加密 &#x1f449;&#x1f3fb;常见的加密方式对称加密…

Ubuntu18.04设置SSH密钥登录

我们一般使用 VSCode 、MobaXterm、PuTTY等 SSH 客户端来远程管理 Linux 服务器。但是&#xff0c;一般的密码方式登录&#xff0c;容易有密码被暴力破解的问题。所以&#xff0c;一般我们会将 SSH 的端口设置为默认的 22 以外的端口&#xff0c;或者禁用 root 账户登录。但是即…

VMware与CentOS的安装

VMware与CentOS的安装 第一章 VMware安装第二章 CentOS上网虚拟机网络IP修改地址配置修改主机名和hosts文件修改主机名称配置Linux克隆机主机名称映射hosts文件&#xff0c;打开/etc/hosts 安装Xshell7和Xftp7 第一章 VMware安装 VMware Workstation Pro 安装包 …

揭秘 IEEE/ACM Trans/CCF/SCI,谁才是科研界的王者?

会议之眼 快讯 在学术探索的浩瀚星海中&#xff0c;每一篇论文都像是一颗璀璨的星辰&#xff0c;而那些被顶级期刊或会议收录的论文&#xff0c;则无疑是最耀眼的几颗。 在众多评价标准中&#xff0c;IEEE/ACM Transactions、CCF推荐期刊和会议、SCI分区期刊&#xff0c;它们…

QT程序简单国际化实验

文章目录 第一步&#xff1a;新建一个QT工程第二步&#xff1a;添加控件第三步&#xff1a;在pro文件中添加内容第四步&#xff1a;更新文件第五步&#xff1a;打开QT的Linguist第六步&#xff1a;添加翻译内容第七步&#xff1a;回到QT Creator中添加文件第八步&#xff1a;给…

游戏辅助 -- 实战找人物对象基址

本节课在线学习视频&#xff1a; https://pan.quark.cn/s/3e83f4568031 一、打开CE工具&#xff0c;加载游戏进程 二、搜索人物血量144&#xff0c;选择首次扫描 三、进入游戏&#xff0c;让人物血量发生变化&#xff0c;搜索减少的数值 四、发现绿色的数值&#xff0c;一般绿…

【ARMv8/v9 系统寄存 3 -- system counter CNTPCT_EL0】

文章目录 ARMv8/v9 system countersystem counter读取函数实现 ARMv8/v9 system counter 所有使用Arm处理器的系统中都会包含一个标准化的通用定时器&#xff08;Generic Timer&#xff09;框架。这个通用定时器系统提供了一个系统计数器&#xff08;System Counter&#xff0…

Redis - Zset 有序集合

目录 前言 列表、集合、有序集合三者的异同点 命令 ZADD 添加或者更新指定的元素以及关联的分数 ZRANGE 返回指定区间里的元素&#xff08;分数按照升序&#xff09; ZREVRANGE 返回指定区间里的元素&#xff08;分数按照降序&#xff09; ZRANGEBYSCORE 返回在指定分数范…

【全网首发】Typecho文章采集器火车头插件去授权版

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 目前市面上基本没有typecho火车头采集器 而分享的这一款采集器&#xff0c;牛的一批 内置使用方法与教程&#xff01; 二、效果展示 1.部分代码 代码如下&#xff08;示例&#…

【深度学习实战(33)】训练之model.train()和model.eval()

一、model.train()&#xff0c;model.eval()作用&#xff1f; model.train() 和 model.eval() 是 PyTorch 中的两个方法&#xff0c;用于设置模型的训练模式和评估模式。 model.train() 方法将模型设置为训练模式。在训练模式下&#xff0c;模型会启用 dropout 和 batch norm…

使用双指针解决问题题集(二)

1. 有效三角形的个数 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 示例 2: 输入: nums [4,2,3,4] 输出: 4 题解&a…