当前位置: 首页 > news >正文

mysql——关于表的增删改查(CRUD)

目录

比较运算符和逻辑运算符图

一、增加(Create)

        1、全列插入

        2、指定列插入

二、查询(Retrieve)

        1、全列查询

        2、指定列查询

        3、别名(as)

        4、表达式查询

        5、去重(distinct)

        6、排序(order by)

        7、条件查询(where)

     (1)基本查询

     (2)AND和OR

     (3)范围查询(between...and...)

     (4)  模糊查询like

     (5) null和is null查询

        8、分页查询(limit)

三、更新(update)

四、删除(delete)


比较运算符和逻辑运算符图

        在学习表的增删改查的前提,我们必须要对比较运算符和逻辑运算符有一个清晰的了解,因为在查询中是必不可少的。

        比较运算符:

运算符解释
>大于
<小于
>=大于等于
<=小于等于
=等于,但对于NULL来说不安全(NULL==NULL结果为NULL)
<=>等于,对于NULL来说是安全的(NULL==NULL结果是true)
!=、<>不等于

BETWEEN a AND b

范围匹配,如果范围是[a,b],结果为TRUE(1)
IN(A,B...)如果是A、B任意一个,就返回TRUE(1)
IS NULL是NULL
IS NOT NULL不是NULL
LIKE模糊匹配。%表示任意多个(包括0个)任意字符;_表示任意一个字符

        逻辑运算符:

运算符解释
AND逻辑与,包含所有条件,则为TRUE(1),否则为FALSE(0)
OR逻辑或,包含任意一个条件,则为TRUE(1),否则为FALSE(0)
NOT逻辑非,如果包含条件为TRUE(1),则为FALSE(0),反之,则为true(1)
XOR逻辑异或(不常用),如果包含所有条件或者一个条件都不包含,则为false(0),否则就为TRUE(1)

        案例用表: 表结构如下;

 create table student(id int comment '序号',sn int comment '学号',name varchar(5) comment '姓名',qq_email varchar(50) comment 'qq邮箱',birthday varchar(4) comment '生日')


 

        表2:成绩表

 成绩表 create table ExamTable(id int ,sn int,name varchar(10),Chinese int,Math int,EngLish int)insert into ExamTable values (01,9,'weq',null,null,null),(01,1,'石昊',60,79,90),(02,2,'云曦',90,99,89);(03,3,'火灵儿',54,87,45),(04,4,'石毅',43,58,90);(05,5,'长弓衍',20,32,null),(06,6,'帝冲',null,78,32),(07,7,'月婵',87,43,23),(08,8,'清猗',89,90,99);

 

        

一、增加(Create)

        固定语法:

        

INSERT [INTO] TABLE_NAME[(column1[,column2],...)] VALUES [(VALUES1[,VALUES2],...)]

        注:其中中括号[ ]里面是指定列插入写法。

        1、全列插入

        全列也就是不选中列,把表中的列全都添加内容,语法如下;

INSERT INTO TABLE_NAME VALUES(VALUES1,VALUES2...)

        例如,给学生表添加新内容,序号为1,序号为01,名字为牛一,qq邮箱为321@qq.com,生日为7月6号(0716)。

        

 insert into student values(1,01,'牛一','321@qq.com','0706')

        2、指定列插入

INSERT [INTO] TABLE_NAME[(column1[,column2],...)] VALUES [(VALUES1[,VALUES2],...)]

        给学生表添加新信息,序号为2,名字为小二,其他不写。

insert into student(id,name) values(02,'小二')

         

        我们发现,我们对于指定列插入,如果有些地方不写信息的话,那么就会用空值(NULL)来代替,这是我们要注意的一点。

二、查询(Retrieve)

        1、全列查询

         语法如下(也是我们最常用的一个查询):

 select * from student

        2、指定列查询

          语法如下:

 select column1,column2... from student

        例如查看表中的序号,学号和名字:

select id,sn,name from student

        效果如下 :

        3、别名(as)

        别名的用法只需要在需要修改的名字后面加别名就行,as也可以不加,例如:我需要查看表中的id、sn、name,且别名分别为序号、学号和名字。

        

select id as '序号',sn as '学号',name '名字' from student

        结果如下:

        我们发现原本的id、sn和name列全都被改成别名了,这就是别名的用法

        4、表达式查询

        表达式查询类似于用列加减法这些,例如,我想查成绩表全部同学的总成绩。

        

select id,sn,name,Chinese+Math+English '总分' from ExamTable;

        

        5、去重(distinct)

        我们在表达式查询看到总分有俩个一样的,我们可以通过distinct去重

        

select distinct  Chinese+Math+English '总分' from ExamTable;

        结果如下(注意:去重需要完全相同

         

        6、排序(order by)

        order by的用法只需要在order by后面加列名就行,例如把数学(Math)成绩按低到高排序一下。

        

select id,sn,name,Chinese,Math,English  from ExamTable order by Math asc; 

        结果如下:

        注意:跟在order by后面的列必须要在select查找范围之内,其次,order by列名后面默认是ASC(升序),而降序需要添加DESC,这个降序DESC和查看表结构的词相同,但意思不同。

        

        7、条件查询(where)

     (1)基本查询

        基本查询主要是用到了比较运算符和逻辑运算符,这个是我们十分常见的查询。

        我们举几个例子,1、查找语文成绩及格的人

                                     2、查找总分俩百以上的人

        1、

select id,sn,name,Chinese from ExamTable where Chinese>60;

        查询结果如下:

        

        2、

select id,sn,name,Chinese+Math+English '总分' from ExamTable where Chinese+Math+English>200;

         结果如下:

     (2)AND和OR

        这个用法也是十分容易的,AND和OR就是一个与和或的概念,比如:我们查找俩个内容,第一个内容是查找语文和数学高于六十分的同学,第二个内容就是查找语文或者数学低于六十分的人。

        1、

select id,sn,name,Chinese,Math from ExamTable where Chinese>60 and Math>60;

         

        2、

select id,sn,name,Chinese,Math from ExamTable where Chinese<60 or Math<60;

         

     (3)范围查询(between...and...)

        这个范围查询的用法也可以用and来替代,俩者可以达成一样的效果,例如查找语文分数在40到60之间的人。

        1、

select id,sn,name,Chinese from ExamTable where Chinese between 40 and 60;

         2、

select id,sn,name,Chinese from ExamTable where Chinese >40 and Chinese<=60;

        结果如下:

        注:betwee...and...的用法and前面和后面的值是一个闭区间。

     (4)  模糊查询like

        模糊查询主要分为俩大点,一个是%模糊查询,一个是_模糊查询,前者是代表前面或者后面缺失的所有内容,而后者只是代表一个字的内容。例如我们需要查找火灵儿这位同学的英语成绩,但我们只知道她的姓,我们可以通过模糊查询来查找。

        

select id,sn,name,Chinese from ExamTable where name Like '火%';

        结果如下:

        但如果我们用_查询火灵儿。

         我们发现我们是查找不出的,因为_只能代表一个字,如果是查找姓石的话能找到石昊和石毅。

        

select id,sn,name,Chinese from ExamTable where name Like '石_';

     (5) null和is null查询

        这个查找相对于前面常用度会低点,但能判断里面的值是否为空,比如我们查找English为空的同学有谁。

        

select id,sn,name,English from ExamTable where English is null;

         

        我们发现能查找出俩位同学,这就是null的用法

        8、分页查询(limit)

        分页查询的语法一共有三种:

        

-- 查找从0行开始到第n行的结果
select [(column1,[column2...]) from table_name [where...] [order by...] limit n;
-- 查找从n行开始到第s行的结果
select [(column1,[column2...]) from table_name [where...] [order by...] limit n,s;
-- 查找从n行开始到第s行的结果(更推荐使用)
select [(column1,[column2...]) from table_name [where...] [order by...] limit s offset n;

        我们三种方法都用一次就很熟悉了。

        1、查找ExamTable表通过id排序从第1行到第5行的同学所有信息。

        

seselect * from ExamTable order by id limit 5;

        查找如下:

        2、查找ExamTable表语文成绩前五名同学的全部信息。

        

select * from ExamTable order by Chinese desc limit 1,5;

         查找如下:

        3、查找ExamTable表总分在第二到第五的同学序号,学号,姓名和总分。

        

select id,sn,name,Chinese+Math+English final from ExamTableorder by final  desclimit 5 offset 1

        结果如下:

        

三、更新(update)

        基本语法:

        

UPDATE TABLE_NAME SET COLUMN1=...[,COLUMN2=...,[COLUMN3=...]]
[WHERE...][ORDER BY...][LIMIT...]

        我们只需要做三个案例就很明确可以使用更新这个了。

        1、将‘石昊的语文成绩修改为80分’。

        

update ExamTable set Chinese=80 where name='石昊'

        修改前:                                                  修改后

        我们发现,进行修改操作把石昊的语文分数已经成功从60分修改到80分。

        注意:由于update的操作是比较危险的,所以在图示化工具的时候可能会出现更新失败的问题,如果更新失败请把下面语句加上去:

        SET SQL_SAFE_UPDATES = 0;

        如果还是想安全一点就设为1就行。

        2、将语文成绩前三的同学成绩都加三十。

       

update ExamTable set Chinese=Chinese+30 order by Chinese desc limit 3;

        修改前:                                                               修改后:

        

        3、将所有同学的语文成绩都加10分。

        

select *,Chinese+Math+English final from ExamTable

        修改前:                                                修改后:

四、删除(delete)

        删除操作基本语法:

        

DELETE FROM TABLE_NAME [WHERE...][ORDER BY...][LIMIT...]

        我们主要写俩个内容就差不多能把这个删除完全掌握,一个是删列的,一个是删表的。

        1、将石昊的成绩删除

        

delete from ExamTable where name='石昊'

        删除前:                                        删除后

         

        2、将Exan_Table表删除

        

delete from ExamTable;

                删除前:                                        删除后

                      

        注意:删除表和更新表的操作都是一个十分危险的操作,而这个操作尽量避免使用,以防出现有关于数据的问题。

相关文章:

mysql——关于表的增删改查(CRUD)

目录 比较运算符和逻辑运算符图 一、增加&#xff08;Create&#xff09; 1、全列插入 2、指定列插入 二、查询&#xff08;Retrieve&#xff09; 1、全列查询 2、指定列查询 3、别名&#xff08;as&#xff09; 4、表达式查询 5、去重&#xff08;distinct&#xff09; 6、…...

docker 重启容器且修改服务映射端口

要重启 Docker 容器并修改服务的映射端口,可以按照以下步骤进行操作: 1. 停止当前运行的容器 如果你想重新配置端口,通常需要先停止当前运行的容器。你可以使用以下命令停止容器: docker stop <container_name_or_id>2. 删除现有容器 为了修改端口映射,你需要删…...

智能提取:OfficeImagesExtractor让文档图片提取更简单

“科技是国之利器&#xff0c;也是民之福祉。” 在数字化办公日益普及的今天&#xff0c;我们对文档处理的需求也在不断增长。尤其是对于Office文档中的图片、视频和音频等多媒体内容的提取&#xff0c;传统的方法是繁琐且效率低下的。在这样的背景下&#xff0c;一款能够高效、…...

【LLM论文日更】| LLM2Vec揭秘大型语言模型的文本嵌入潜能

论文&#xff1a;https://arxiv.org/pdf/2404.05961代码&#xff1a;https://github.com/McGill-NLP/llm2vec机构&#xff1a;McGill University, Mila ServiceNow Research &#xff0c;Facebook CIFAR AI Chair领域&#xff1a;embedding model发表&#xff1a;COLM 2024 研…...

大模型微调有必要做吗?LoRa还是RAG?

我需要对大模型做微调吗&#xff1f; 想自定义大模型时&#xff0c;选择&#xff1a;微调还是RAG还是ICL&#xff1f; 需要对大模型做微调&#xff1f; 在人工智能的世界里&#xff0c;大型语言模型&#xff08;LLM&#xff09;已经成为了我们探索未知、解决问题的得力助手。…...

机器人外呼系统如何使用呢?

智能电话机器人作为人工智能进入电销行业的一个分类&#xff0c;目前已取得不错的成绩。智能电话机器人针对电销行业的痛点所作出了改善。 作为新兴的一种电销手段&#xff0c;很多企业对其充满好奇又望而却步。那么很多朋友都有想知道为什么现在很多人都用AI机器人拓客&#x…...

python-月份有几天

题目描述 小理现在有一份日历&#xff0c;但是这个日历很奇怪并不能告诉小理日期信息。小理现在有年和月&#xff0c;希望你能帮他计算出来这一年这个月有几天。 输入 输入共一行&#xff0c;两个整数&#xff0c;代表年和月&#xff0c;中间用空格隔开。 输出 一个整数&am…...

1017 Queueing at Bank

链接&#xff1a; 1017 Queueing at Bank - PAT (Advanced Level) Practice (pintia.cn) 题目大意&#xff1a; 有n个客户&#xff0c;k个窗口。已知每个客户的到达时间和需要的时长&#xff0c;如果有窗口就依次过去&#xff0c;如果没有窗口就在黄线外等候&#xff08;黄线…...

DPDK 测试说明

文章目录 2.DPDK 测试说明2.1硬件pci加密设备绑定到igb_uio驱动IGB_UIO 主要负责什么内容 &#xff1f; 2.2 test命令使用说明2.3 dpdk-test-crypto-perf命令使用说明2.4 使用testpmd测试网卡性能 2.DPDK 测试说明 2.1硬件pci加密设备绑定到igb_uio驱动 dpdk-stable/usertool…...

上传及接收pdf文件,使用pdfbox读取pdf文件内容

前端上传pdf文件 html <form class"layui-form"><div style"background-color: #ffffff" ><div style"padding: 30px"><div class"layui-form-item"><div class"layui-inline"><label c…...

第一个搭建SpringBoot项目(连接mysql)

首先新建项目找到Spring Initializr 我使用的URL是https://start.spring.io这里最低的JDK版本是17&#xff0c;而且当网速不好的时候可能会显示超时&#xff0c;这里可以选用阿里云的镜像https://start.aliyun.com可以更快一些但是里面还是有一些区别的 我们这里选择Java语言&a…...

docker部署rabbitMQ 单机版

获取rabbit镜像&#xff1a;我们选择带有“mangement”的版本&#xff08;包含web管理页面&#xff09;&#xff1b; docker pull rabbitmq:management 创建并运行容器&#xff1a; docker run -d --name rabbitmq -p 5677:5672 -p 15677:15672 rabbitmq:management --name:…...

PDF 全文多语言 AI 摘要 API 数据接口

PDF 全文多语言 AI 摘要 API 数据接口 PDF / 文本摘要 AI 生成 PDF 文档摘要 AI 处理 / 智能摘要。 1. 产品功能 支持多语言摘要生成&#xff1b;支持 formdata 格式 PDF 文件流传参&#xff1b;快速处理大文件&#xff1b;基于 AI 模型&#xff0c;持续迭代优化&#xff1b;…...

《信息系统安全》课程实验指导

第1关&#xff1a;实验一&#xff1a;古典密码算法---代换技术 任务描述 本关任务&#xff1a;了解古典密码体制技术中的代换技术&#xff0c;并编程实现代换密码的加解密功能。 注意所有明文字符为26个小写字母&#xff0c;也就是说字母表为26个小写字母。 相关知识 为了完…...

Accelerated Soft Error Testing 介绍

加速软错误测试(Accelerated Soft Error Testing, ASET)是一种评估半导体器件或集成电路(ICs)在高辐射环境中发生软错误率(Soft Error Rate, SER)的方法。这种测试方法通过模拟或加速软错误的发生,以便在较短时间内评估器件的可靠性。软错误指的是那些不会对硬件本身造成…...

Redis缓存常用的读写策略

缓存常用的读写策略 缓存与DB的数据不一致问题&#xff0c;大多数都是指DB的数据已经修改&#xff0c;而缓存中的数据还是旧数据的情况。 旁路缓存模式 对于读操作&#xff1a;基本上所有模式都是先尝试从缓存中读&#xff0c;没有的话再去DB读取&#xff0c;然后写到缓存中…...

9月产品更新 | 超10项功能升级,快来看看你的需求上线了吗?

Smartbi用户可以在官网&#xff08;PC端下载&#xff09;&#xff0c;更新后便可以使用相关功能&#xff0c;也可以在官网体验中心体验相关功能。 接下来&#xff0c;我们一起来看看都有哪些亮点功能更新吧。 ▎插件商城 Smartbi麦粉社区的应用市场新增了“插件”模块&#xf…...

ARP协议工作原理析解 (详细抓包分析过程)

目录 1. ARP 协议 2. 工作原理 3. ARP 协议报文格式 4. ARP 缓存的查看和修改 5. tcpdump 抓包分析 ARP 协议工作原理 5.1 搭建 2 台虚拟机 5.2 在主机 192.168.0.155 打开一个shell命令行开启抓包监听 5.3 在主机 192.168.0.155 打开另一个shell命令行 telnet 192.168.…...

axure动态面板

最近转管理岗了&#xff0c;作为项目负责人&#xff0c;需要常常与客户交流沟通&#xff0c;这时候画原型的能力就是不可或缺的本领之一了&#xff0c;关于axure可能很多it行业者都不是很陌生&#xff0c;简单的功能呢大家就自行去摸索&#xff0c;我们这次从动态面板开始讲起。…...

[论文笔记]Making Large Language Models A Better Foundation For Dense Retrieval

引言 今天带来北京智源研究院(BAAI)团队带来的一篇关于如何微调LLM变成密集检索器的论文笔记——Making Large Language Models A Better Foundation For Dense Retrieval。 为了简单&#xff0c;下文中以翻译的口吻记录&#xff0c;比如替换"作者"为"我们&quo…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...