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.mzph.cn/pingmian/4992.shtml

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

相关文章

IDM下载器安装cmd注册

一、下载注册 安装包去IDM官网下载最新的试用版即可 或者直达百度网盘下载&#xff08;担心被河蟹&#xff0c;放在txt中了&#xff09;包含IDM下载器安装包和注册软件 IDM下载器安装包和注册软件下载地址链接 https://download.csdn.net/download/qq_31237581/89215452 如果…

【STM32+HAL】SDIO模式读写SD卡

一、准备工作 有关CUBEMX的初始化配置&#xff0c;参见我的另一篇blog&#xff1a;【STM32HAL】CUBEMX初始化配置 二、所用工具 1、芯片&#xff1a; STM32F407ZGT6 2、IDE&#xff1a; MDK-Keil软件 3、库文件&#xff1a;STM32F4xxHAL库 三、实现功能 实现用DMA读写SD卡内…

人工原生动物优化器(APO)-2024年SCI一区新算法-公式原理详解与性能测评 Matlab代码免费获取

声明&#xff1a;文章是从本人公众号中复制而来&#xff0c;因此&#xff0c;想最新最快了解各类智能优化算法及其改进的朋友&#xff0c;可关注我的公众号&#xff1a;强盛机器学习&#xff0c;不定期会有很多免费代码分享~ 目录 原理简介 一、觅食行为 (1)自养模式 (2)异…

xss漏洞学习

1.xss漏洞简介 跨站脚本&#xff08;Cross-Site Scripting&#xff09;&#xff0c;本应该缩写为CSS&#xff0c;但是该缩写已被层叠样式脚本Cascading Style Sheets所用&#xff0c;所以改简称为XSS。也称跨站脚本或跨站脚本攻击。 原理&#xff1a;跨站脚本攻击XSS通过将恶…

项目文档:基于JavaFX + Maven的桌面扫雷软件打包exe【小白可做,文章末尾有包教安装有源代码可运行,可打包】

微信公众号: 科研小条 前言 用于学习javafx做桌面软件&#xff0c;熟悉maven构建项目的最佳选择 效果展示&#xff1a; 1. 项目概述 本项目是一个基于Java和JavaFX构建的桌面扫雷游戏软件。扫雷游戏是一种经典的单人益智游戏&#xff0c;玩家需要根据已知的雷区信息&…

Golang Colly爬取图片gorm存储数据

语言:Golang 库:Iris/Colly/gorm 运行结果 text/html; charset=utf-8 It is image 20240429222029_0_0.jpg Saved file: images\20240429222029_0_0.jpg text/html; charset=utf-8 It is image 20240429222030_1_0.jpg Saved file: images\20240429222030_1_0.jpg It is ima…

动态切换数据源的最佳实践

序言 本文和大家聊聊在开发中&#xff0c;动态切换多数据源的方案。 一、多数据源需求 随着应用程序的发展和复杂性增加&#xff0c;对于多数据源的需求也变得越来越普遍。在某些场景下&#xff0c;一个应用程序可能需要连接和操作多个不同的数据库或数据源。常见的场景包括…

Qt QThreadPool线程池

1.简介 QThreadPool类管理一个QThread集合。 QThreadPool管理和重新设计单个QThread对象&#xff0c;以帮助降低使用线程的程序中的线程创建成本。每个Qt应用程序都有一个全局QThreadPool对象&#xff0c;可以通过调用globalInstance来访问该对象。 要使用其中一个QThreadPool…

深度学习入门(4)

神经网络的构建 import numpy as np import matplotlib.pyplot as plt def sigmoid(x):return 1/(1np.exp(-x)) def identity_function(x):#恒等函数return x def init_network():#进行权重和偏置的初始化&#xff0c;并保存到字典中network{}network[W1]np.array([[0.1,0.3,0…

ezplot--Matlab学习

目录 一、代码 二、效果 ​编辑 三、ezplot讲解 四、如何自定义一个函数 一、代码 clc; clear; t0:32; x4(t) cos(2*pi*t/4).*sin(2*pi*t/4); x8(t) cos(2*pi*t/8).*sin(2*pi*t/8); x16(t) cos(2*pi*t/16).*sin(2*pi*t/16); subplot(3,1,1) ezplot(x4,[0,32]); subplot…

POCEXP编写—多线程

POC&EXP编写—多线程 1. 前言2. 多进程&多线程2.1. 多进程2.1.1. 案例 2.2. 多线程2.2.1. 案例&#xff1a; 2.3. POC的案例&#xff08;模板&#xff09; 3. UA头设置3.1. 随机UA头3.1.1. 案例3.1.2. 模板拼接 4. 代理Proxy4.1. 单代理案例4.2. 多代理案例4.2.1. 请求…

【AI心理咨询应用】继Woebot之后,国内诞生的“LLM+CBT”应用:白小喵

导言 AI认知行为疗法&#xff08;Cognitive Behavioral Therapy&#xff0c;CBT&#xff09;早在2017年便有了首例&#xff0c;即美国知名CBT治疗机器人Woebot。 然而&#xff0c;Woebot在CBT的完整落地上仍有缺陷问题&#xff0c;LLM的出现促进了对该问题的解决&#xff0c;…

【机器学习基础1】什么是机器学习、预测模型解决问题的步骤、机器学习的Python生态圈

文章目录 一. 什么是机器学习1. 概念2. 机器学习算法分类 二. 利用预测模型解决问题的步骤三. 机器学习的Python生态圈 一. 什么是机器学习 1. 概念 机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09;是一门多领域的交叉学科&#xff0c;涉及概率论、统计学、…

服务器数据恢复—Storwize V3700存储数据恢复案例

服务器存储数据恢复环境&#xff1a; 某品牌Storwize V3700存储&#xff0c;10块硬盘组建了2组Mdisk加入到一个存储池中&#xff0c;一共创建了1个通用卷来存放数据&#xff0c;主要数据为oracle数据库。 服务器存储故障&#xff1a; 其中一组Mdisk中两块磁盘出现故障离线&…

【每日刷题】Day28

【每日刷题】Day28 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; ​ 1. 121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; 2. 205. 同构字符串 - 力扣…

关于discuz论坛网址优化的一些记录(网站地图sitemap提交)

最近网站刚上线&#xff0c;针对SEO做了些操作&#xff0c;为了方便网站网页百度被收录&#xff0c;特此记录下 discuz有免费的sitemap插件可以用&#xff0c;打开后台管理&#xff0c;找到插件栏&#xff0c;然后找到更多插件&#xff0c;进入插件市场。 选择这个免费的sitem…

【数据分析面试】34.填充NaN值 (Python:groupby/sort_value/ffill)

题目&#xff1a;填充NaN值 &#xff08;Python) 给定一个包含三列的DataFrame&#xff1a;client_id、ranking、value 编写一个函数&#xff0c;将value列中的NaN值用相同client_id的前一个非NaN值填充&#xff0c;按升序排列。 如果不存在前一个client_id&#xff0c;则返…

Linux详解:进程等待

文章目录 进程等待等待的必要性进程等待的方法waitwaitpid获取子进程status阻塞等待 与 非阻塞等待 进程等待 等待的必要性 子进程退出&#xff0c;父进程不进行回收的话&#xff0c;就可能造成僵尸进程&#xff0c;进而造成内存泄露 如果进程进入了僵尸状态&#xff0c;kill…

GITEE 基于OAuth2的API V5版本

为了构建更好的码云生态环境&#xff0c;我们推出了基于OAuth2的API V5版本。 API V5接口使用方式以及Url都参照GitHub&#xff0c;为了各位开发者更好的兼容已经存在的第三方应用。 API 使用条款 OSCHINA 用户是资源的拥有者&#xff0c;需尊重和保护用户的权益。不能在应用…

基于SpringBoot+Vue高校竞赛管理系统的设计与实现

项目介绍&#xff1a; 高校竞赛管理系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、竞赛公告管理、获奖管理、老师管理、评审管理、评审分配管理、评审打分管理、赛事管理、赛事提交管理、赛事报名管理、用户管理、专家管理、管理员管理。用…