MySQL CRUD操作

news2024/11/19 4:39:50

 前言👀~

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

除数据库以及对表进行的一些基础操作,今天我们学习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.coloradmin.cn/o/1642334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无U盘基于本地硬盘无损制作虚拟U盘(Windows、Linux系统安装启动盘)

知识点 实验环境 名称版本使用平台Win11本地硬盘格式GPT待安装镜像deepin-desktop-community-20.9-amd64.iso 文中工具下载链接&#xff1a; https://download.csdn.net/download/xzzteach/89263714 deepin-desktop-community-20.9-amd64.iso 文件结构如下&#xff1a; 在Li…

如何保证每次画出的都同一张人脸?AI绘画Stable Diffusion的Reference only教程

Ai绘画有一个很现实的问题&#xff0c;要保证每次画出的都是同一个人物的话&#xff0c;很费劲。 Midjourney就不必说了&#xff0c;人物的高度一致性一直得不到很好的解决。而在Stable Diffusion&#xff08;SD&#xff09;中&#xff0c;常用办法是通过同一个Seed值&#xf…

10G MAC层设计系列-(4)MAC TX模块

一、前言 MAC TX模块就是要将IP层传输过来的数据封装前导码、MAC地址、帧类型以及进行CRC校验&#xff0c;并与CRC值一块组成以太网帧。 二、模块设计 首先对输入的数据进行缓存&#xff0c;原因是在之后要进行封装MAC帧头&#xff0c;所以需要控制数据流的流动 FIFO_DATA_6…

Ubuntu编译安装MariaDB并进行初始化配置

Ubuntu编译安装MariaDB并进行初始化配置 1. 编译安装MariaDB2. 配置MariaDB3. Docker安装MariaDB 1. 编译安装MariaDB MariaDB官方安装文档&#xff1a;https://mariadb.com/kb/en/Build_Environment_Setup_for_Linux/    下载MariaDB源码&#xff1a;https://mariadb.org/ma…

Enum,你学会了吗?

大家后&#xff0c;我是小七。 今天给大家分享下java.lang包下面Enum类的面试点&#xff0c;本文阅读需3分钟。 Java轮子 分享程序员日常、职场、互联网项目、开发经验&#xff0c;专注技术提升 12篇原创内容 公众号 在 Java 编程中&#xff0c;枚举类型&#xff08;Enum&…

go是如何运行的?

前言 go程序的入口是main函数吗&#xff1f;诚然很多程序的入口都是main,比如java,C,C等&#xff0c;但是go由于他的运行时环境是代码&#xff0c;而不是像Java那样有自己的虚拟机&#xff0c;所以程序在运行main函数之前&#xff0c;需要做很多的准备工作&#xff0c; 该文章…

这书不错,古琴乐理实用教程(尹溧新编),有课学得通透。

通篇阅读后&#xff0c;发现这本书以古琴初习者、未系统接触过现代乐理的读者为对象&#xff0c;将复杂的古琴音乐理论简单化、通俗化。书中采用参照比较的方法、通俗易懂的语言、言简意赅的文字&#xff0c;并结合具体音乐作品将古琴研习中最主要的、最核心的理论知识进行简明…

【算法系列】哈希表

目录 哈希表总结 leetcode题目 一、两数之和 二、判定是否互为字符重排 三、存在重复元素 四、存在重复元素 II 五、字母异位词分组 六、在长度2N的数组中找出重复N次的元素 七、两个数组的交集 八、两个数组的交集 II 九、两句话中的不常见单词 哈希表总结 1.存储数…

登封授牌,花落郑州

近日&#xff0c;“大禹故里故都”授牌仪式在河南省登封市隆重举行&#xff0c;河南省社科院有关单位将匾牌授予登封市。报道称&#xff1a;至此&#xff0c;千百年来备受争议的大禹故里、故都问题&#xff0c;终于尘埃落定&#xff0c;华夏立国始祖大禹终于魂归故里。 略有微词…

《尿不湿级》STM32 F103C8T6最小系统板搭建(五)BOOT

一、BOOT是什么&#xff1f; 大多数初学者第一次接触BOOT总是对这个词感到不解&#xff0c;从哪冒出一个奇奇怪怪的东西还要接跳线帽&#xff0c;为什么要配置它才能进行串口程序的下载&#xff1f;为什么不正确配置会导致单片机无法正常启动…… boot&#xff0c;及物动词&…

IP 地理定位神话与事实

ip地理定位是一项技术&#xff0c;用于通过访问设备的ip地址来获取地理位置信息&#xff0c;例如国家、城市、经纬度等。该技术广泛应用于网站内容自定义、广告定位、网络安全和用户分析等领域。它通过与包含ip地址和地理位置映射的大型数据库进行查询来工作&#xff0c;但在准…

LeetCode406:根据身高重建队列

题目描述 假设有打乱顺序的一群人站成一个队列&#xff0c;数组 people 表示队列中一些人的属性&#xff08;不一定按顺序&#xff09;。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi &#xff0c;前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数…

「JavaEE」线程安全2:内存可见性问题 wait、notify

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;JavaEE &#x1f387;欢迎点赞收藏加关注哦&#xff01; 内存可见性问题& wait、notify &#x1f349;Java 标准库的线程安全类&#x1f349;内存可见性问题&#x1f34c;volatile 关键字 …

python大数据项目中的 DIM层数据处理

一、处理维度表数据 hive的配置 -- 开启动态分区方案 -- 开启非严格模式 set hive.exec.dynamic.partition.modenonstrict; -- 开启动态分区支持(默认true) set hive.exec.dynamic.partitiontrue; -- 设置各个节点生成动态分区的最大数量: 默认为100个 (一般在生产环境中, 都…

步进电机与伺服电机的区别

什么是电机&#xff1f; 电机是一种将电能转换为机械能的装置&#xff0c;通常由定子、转子和电磁场组成。当电流通过电机的绕组时&#xff0c;产生的磁场会与电机中的磁场相互作用&#xff0c;从而使电机产生旋转运动。电机广泛应用于各种机械设备和工业生产中&#xff0c;是现…

5.4代码

1.本质上升序列 我想到的是用回溯去找子集一个一个判断&#xff0c;当然这样的话会来的很慢&#xff0c;然后就在网上找到了大佬的方法&#xff0c;这东西居然是用动态规划来的&#xff0c;说是最长递增子序列的类似问题 &#xff0c;感觉我好像写过类似的&#xff0c;但是去找…

gitee关联picgo设置自己的typora_图床

一&#xff1a;去gitee官网创建仓库&#xff1a;typora_图床 1.百度搜索关键字&#xff1a;gitee&#xff0c;进入官网 2.进入gitee登录或者注册自己的账号 3.进入主页后&#xff0c;点击右上方 4.点击新建仓库 5.设置仓库名&#xff1a;typora_图床 6.点击5的创建&#xff0…

基于Springboot的校运会管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的校运会管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&a…

让我们一起来领悟带环问题的核心思想

一、带环的链表&#xff1a; 本质还是快慢指针来解决 关于如下一个带环链表怎么去找到他们想碰到的节点呢&#xff1f;&#xff1f;&#xff1f;&#xff1f;我们可以想到快慢指针&#xff0c;第一个快点走&#xff0c;若是有环就会进入环&#xff0c;此时快指针每次走2步&am…

边缘计算含义与应用简析

边缘计算概述 边缘计算使数据存储和处理靠近生成或收集数据的位置&#xff0c;而不是在位于数千公里的服务器上。它将通过保持灵活性在边缘无缝可靠地部署服务。它比云计算更安全&#xff0c;因为不需要传输数据。因此&#xff0c;在将数据从边缘移动到云端时&#xff0c;不用…