大庆百度做网站多少钱/网站定制设计
目录
前言
🍃1.表的增加
🍙1.1增——insert
🍙1.2插入否则更新
🍤1.2.1影响行说明
🍂2.表的查询
🍘2.1查询——select
🍘2.2特殊表查询
🍥2.2.1添加表达式
🍥2.2.2起别名
🍥2.2.3结果去重
🍘2.3where条件
🍘2.4结果排序——order by
🍘2.5筛选分页结果
🐳3.表的删除
🧊️3.1删除——delete
🧊️3.2截断——truncate
🧊️3.3 delete和truncate的区别
✨4.表的更新
🍁4.1更新——update
总结
前言
在🔥《库操作&&表操作》🔥一文中,我们已经知道如何对表进行创建、修改、删除
但那是对表的结构而言,具体怎么对表的数据进行操作,我们还没有讲解
这也是本章的介绍对象——表的增删查改
🍃1.表的增加
🍙1.1增——insert
insert用于向表中插入新的行数据记录
插入的行数据记录,并不是依照列一个一个严格插入的
可以选择全插入,也可以选择一些列进行插入
语法:
insert into 表名(列名1,列名2,......) values(列值1,列值2,......);
特殊语法:
- 全列插入,直接省略括号中列名
insert into 表名 values(列值1,列值2,......);
- 多列插入,每个行数据用()包裹,用','分离
insert into 表名(列名1,列名2,......) values(列值1,列值2,......),(列值1,列值2,......),......;
示例:
创建一张表students
create table students(-> id int unsigned primary key auto_increment,-> sn int not NULL unique,-> name varchar(20) not null,-> qq varchar(20)-> );
指定列插入一条数据记录
全列插入一条数据记录
多行插入多条数据记录
查看表
🍙1.2插入否则更新
当我们想要插入的数据记录,在表中已经存在时,会插入失败
这时候,我们可以选择将表中原本的数据记录更新成我们想要插入的数据记录
即发生数据冲突就更新
一般冲突分为两种
- 主键冲突
- 唯一键冲突
🤔如何解决?
💡在数据冲突的时候,选择性地进行同步更新
语法:
insert ....... duplicate key update 列名1=列值1,列名2=列值2,......;
示例:
插入的数据记录产生冲突,选择更新
查看表👇
🍤1.2.1影响行说明
当表中有数据冲突,我们进行选择性更新时
可以发现,有两行数据被影响了
当我们插入的数据不发生数据冲突
只有一行被影响
当我们选择性更新,数据冲突的值和update的值相等
没有行被影响
说明:
- 0 row affected:表中有冲突数据,但冲突数据和update的值相等
- 1 row affected:表中没有冲突数据,数据被插入
- 2 row affected:表中有冲突数据,并且数据已经被更新
🍂2.表的查询
🍘2.1查询——select
一般用来显示表
但实际上,select只是将结果进行显示,并不是单独对表进行显示
如:select 1+1;
全列查询
语法 :
select * from 表名;
说明:
我们一般不支持全列查询
正常工作中的表的数据记录,都多得可怕,并不是我们现在编写的寥寥几行
查询的列越多,意味着传输的数据量越大,速度越慢
并且可能会影响到索引的使用
指定列查询
语法:
select 列名1,列名2,...... from 表名;
说明:
指定列查询的时候
显示是按照select后面的列名顺序进行显示,而不是按照创建表时,定义列名的顺序
🍘2.2特殊表查询
🍥2.2.1添加表达式
select可以显示表达式的结果
进行表的查询的时候,如果有需求,我们可以添加表达式
示例:
现在有一张成绩表
表上的信息只有每个人的姓名、语文成绩、数学成绩、英语成绩
现在,我希望了解每个人的三科总成绩
我需要对表多添加一列总成绩吗?
直接在select 后面添加表达式即可
select name,chinese,english,math,math+english+chinese from exam_result;
结果
这样,简单粗暴了很多
🍥2.2.2起别名
有些时候,显示的列名过长,会造成显示不美观
为了让显示的效果更好,更美观,我们可以对复杂的列名另起别名
语法:
select 列名1 as 别名1,....... from 表名;
- select只管显示结果,对列起别名后,显示时使用别名进行显示
示例:
select name,chinese,english,math,math+english+chinese as '总分' from exam_result;
结果👇
🍥2.2.3结果去重
当进行显示的时候,会发现有重复的数据
有时候重复数据我们并不希望看到,就可以对显示结果进行去重
语法:
select distinct 列名,...... from 表名;
- 将关键字distinct添加在指定列名前,显示该列数据时就会自动去重
示例:
98重复了
我们现在再次select,并对math进行去重
显示的数据当中,已经没有重复数据了。
🍘2.3where条件
如果说 select * from 表名 中的from,是为了定位表的
那么where条件,则是用来定位表中确切的数据记录
语法:
select ...... from where 条件;
where后面的条件,一般需要配合一些运算符
比较运算符
运算符 | 说明 |
>,>=,<,<= | 大于,大于等于,小于,小于等于 |
= | 等于,NULL不安全,例如NULL=NULL的结果是NULL |
<=> | 等于,NULL安全,例如NULL<=>NULL的结果是TRUE(1) |
!=,<> | 不等于 |
between a0 and a1 | 范围匹配[a0,a1],如果a0 <=value<=a1,返回TRUE(1) |
in(option,...) | 如果是option中的任意一个,返回TRUE(1) |
is null | 是NULL |
is not null | 不是NULL |
like | 模糊匹配,%表示任意多个(包括零个)任意字符;_表示一个字符 |
逻辑运算符
运算符 | 说明 |
and | 多个条件必须都为TRUE(1),结果才是TRUE(1) |
or | 任意一个条件为TRUE(1),结果为TRUE(1) |
not | 条件为TRUE(1),结果为FALSE(0) |
示例:
查询英语不及格的同学以及英语成绩(<60)
查询语文成绩在[80,90]之间的同学以及语文成绩

🍘2.4结果排序——order by
我们需要对一些数据进行排序的时候,就需要使用order by
语法:
select ...... from 表名 ...... order by 列名 [asc|desc];
- asc为升序排序,从小到大
- desc为降序,从大到小
- 默认为asc
示例:
将同学及数学成绩,按数学成绩升序显示
从小到大依次显示,没有指定排序,则默认为升序
查询同学们各门成绩,依次按 数学降序,英语升序、语文升序的方式显示
发现,即使唐三藏的英语成绩和语文成绩都很差,但还是在第一位
因为,多列排序,排序优先级按照书写顺序
💣注意:没有order by子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
🍘2.5筛选分页结果
大厂中的数据库,存储的信息量是很大的,所以一般几千行起步
我们可以用where进行筛选
但有些时候,我们也必须仔细查看
我们可以使用 limit 对数据进行分页,减少select一次性显示的数据
语法:
-- 起始下标为 0
-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n
-- 从 0 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;
示例:
第一页,显示从0到第3条数据记录
第二页,显示从4开始到第6条数据记录
第三页,显示从7开始到第9条数据记录
💣注意:当剩余记录不满足分页需要的数据记录条数时,显示剩余条数即可
🐳3.表的删除
🧊️3.1删除——delete
当我们不需要表中的每个行数据记录时,可以使用delete进行删除
语法:
delete from 表名 where 条件;
- 删除表中where指定的行数据记录
- where 条件 可以省略
示例:删除孙悟空同学的考试成绩
先查看一下孙悟空同学的考试成绩
将孙悟空同学的考试成绩删除
再次查看孙悟空同学的考试成绩
Empty 表示孙悟空的考试成绩没有了,已经被删除了
💣注意:使用delete进行删除的时候,一旦省略where 条件,将删除整张表的数据
🧊️3.2截断——truncate
当你想删除整张表的数据时
不仅可以用delete,也可以使用teuncate
语法:
truncate table 表名;
- truncate进行删除时,并没有where进行筛选,就是直接删除整张表的数据
🧊️3.3 delete和truncate的区别
truncate是用来删除整张表的,delete也可以用来删除整张表
但为什么一定要多一个truncate拥有重复的功能?
区别:
- delete删除整张表时,不会重置主键的AUTO_INCREMENT值
- truncate删除整张表时,会重置主键的AUTO_INCREMENT值
验证一下:
现在有一个表test
它的列id拥有主键约束,并且自增长
目前主键的AUTO_INCREMNT值为127
使用delete对整张表进行删除
再次查看主键的AUTO_INCREMNT值
仍为127,说明delete删除整张表的数据,并不会重置AUTO_INCREMNT的值
现在使用truncate对表进行重复删除
再次查看主键的AUTO_INCREMNT值
发现:AUTO_INCREMNT直接消失了,代表被重置了!
说明:
truncate在删除整张表数据的同时,重置主键的自增长值
delete在删除整张表数据的同时,不会重置主键的自增长值
为什么会这样?😣
💡delete的删除,是真正地对内容删除,将内容进行清空
💡truncate的删除,并不是真正地对内容删除,并不对内容进行操作
以下为个人想法:
表的本质,就是一个文件
truncate对其删除,更像是将其状态设置为已删除
当表重新被插入数据的时候,直接覆盖原本状态为已删除的数据即可
整张表已经被设置为已删除
后面重新插入数据,也是从头开始插入
所以,在将表的状态设置为已删除的同时,也会重置主键自增长的值!
✨4.表的更新
🍁4.1更新——update
使用update可以对表中的数据进行更新,也是修改
语法:
update 表名 set 列名1=expr1,...... where 条件;
- 将表中where指定的数据记录的列名1的值更改为expr1
- where 可以省略
示例:将孙悟空通信的数学成绩变更为80分
先查看一下孙悟空同学的数学成绩
将孙悟空同学的数学成绩更新为80分
结果👇
💣注意:一般进行更新的时候,建议不要省略where,一旦省略,将变成全表更新!
总结
本文章带大家认识了表的增删查改的操作
但要彻底熟悉,需要勤加练习,多多实操才是
✨如果本文有帮助,点个赞发个评论鼓励一下✨
相关文章:

【MySQL】——用一文领悟表的增删查改
目录 前言 🍃1.表的增加 🍙1.1增——insert 🍙1.2插入否则更新 🍤1.2.1影响行说明 🍂2.表的查询 🍘2.1查询——select 🍘2.2特殊表查询 🍥2.2.1添加表达式 🍥…...

Zabbix监控Oracle 19c数据库完整配置指南
Zabbix监控Oracle 19c数据库完整配置指南 本文将详细介绍如何使用Zabbix配置Oracle 19c数据库监控,包括安装、配置、问题排查等全过程。本指南适合新手独立完成配置。 1. 环境准备 1.1 系统要求 Oracle 19c数据库服务器Zabbix服务器(版本5.0或更高&a…...

静态路由与交换机配置实验
1.建立网络拓扑 添加2台计算机,标签名为PC0、PC1;添加2台二层交换机2960,标签名为S0、S1;添加2台路由器2811,标签名为R0、R1;交换机划分的VLAN及端口根据如下拓扑图,使用直通线、DCE串口线连接…...

【jvm】讲讲jvm中的gc
目录 1. 说明2. 主要算法2.1 标记-清除算法2.2 复制算法2.3 标记-整理算法3. 主要回收器3.1 Serial GC3.2 Parallel GC3.3 CMS(Concurrent Mark-Sweep)GC3.4 G1(Garbage-First)GC 4. 触发条件4.1 Minor GC(Young GC&am…...

openlayers地图事件
OpenLayers是一个开源的JavaScript库,用于在Web上创建交互式地图。它提供了许多地图事件,使用户可以与地图进行交互。以下是OpenLayers常用的地图事件: 1. click:当用户单击地图时触发该事件。 2. dblclick:当用户双…...

杂记9---一些场景git操作汇总
背景:不同项目需求,所需要git操作集合,不太一样,这里汇总记录一下。 场景1:给本地项目添加到远程仓库的新建分支上 把本地节点保存在自己库的一个分支: git init git remote add origin xxx.git 远程仓库…...

Mysql索引,聚簇索引,非聚簇索引,回表查询
什么是索引 数据库索引是为了实现高效数据查询的一种有序的数据数据结构,类似于书的目录,通过目录可以快速的定位到想要的数据,因为一张表中的数据会有很多,如果直接去表中检索数据效率会很低,所以需要为表中的数据建立…...

【优选算法 二分查找】二分查找算法入门详解:二分查找小专题
x 的平方根 题目解析 算法原理 解法一: 暴力解法 如果要求一个数(x)的平方根,可以从 0 往后枚举,直到有一个数(a),a^2<x,(a1)^2>x,a即为所求; 解法二:二分查找 …...

如何将CSDN博客下载为PDF文件
1.打开CSDN文章内容 2.按键盘上的f12键(或者右键—审查元素)进入浏览器调试模式,点击控制台(Console)进入控制台 3.在控制台输入以下代码,回车 4.在弹出的打印页面中将布局设置成横向,纵向会…...

pdf转word/markdown等格式——MinerU的部署:2024最新的智能数据提取工具
一、简介 MinerU是开源、高质量的数据提取工具,支持多源数据、深度挖掘、自定义规则、快速提取等。含数据采集、处理、存储模块及用户界面,适用于学术、商业、金融、法律等多领域,提高数据获取效率。一站式、开源、高质量的数据提取工具&…...

2024年下半年网络工程师案例分析真题及答案解析
2024年下半年网络工程师案例分析真题及答案解析 试题一(15分) [说明] 公司为某科技园区的不同企业提供网络服务,不同企业的业务有所不同,每个企业因业务需要在不同的地点有多个分支机构。其拓扑结构如图1所示。企业用户通过楼层接入交换机、楼栋汇聚交换机和区域交换机接…...

English phonetic symbol
英语音标发音表-英语48个音标在线读 (jiwake.com) 【英语音标教程】从此学会国际音标|英式音标|BBC音标教程全解_哔哩哔哩_bilibili 元音 单元音 /iː/,/ɪ/ 这两个音不是发音长短的区别, /uː/ /ʊ/ 上面那个就正常读,下面那个她的气大概是往你斜…...

普及组集训--图论最短路径设分层图
P4568 [JLOI2011] 飞行路线 - 洛谷 | 计算机科学教育新生态 可以设置分层图:(伪代码) E(u,v)w;无向图 add(u,v,w),add(v,u,w); for(j1~k){add(ujn,vjn,w);add(vjn,ujn,w);add(ujn-j,vjn-j,0);add(vjn-j,ujn-j,0); } add(ujn-j,vjn-j,0); add(vjn-j,uj…...

SYN6288语音合成模块使用说明(MicroPython、STM32、Arduino)
模块介绍 SYN6288中文语音合成模块是北京宇音天下科技有限公司推出的语音合成模块。该模块通过串口接收主控传来的语音编码后,可自动进行自然流畅的中文语音播报。 注:SYN6288模块无法播报英文单词和句子,只能按字母播报英文 ;而…...

Spring完整知识三(完结)
Spring集成MyBatis 注意 Spring注解形式集成MyBatis时,若SQL语句比较复杂则仍采用映射文件形式书写SQL语句;反之则用注解形式书写SQL语句,具体可详见Spring注解形式 环境准备相同步骤 Step1: 导入相关坐标,完整pom.…...

保姆级教程Docker部署Redis镜像
目录 1、创建挂载目录和配置文件 2、运行Redis镜像 3、查看redis运行状态 1、创建挂载目录和配置文件 # 创建宿主机Redis配置文件存放目录 sudo mkdir -p /data/docker/redis/conf# 创建Redis配置文件 cd /data/docker/redis/conf sudo touch redis.conf 到Github上找到Redi…...

子类有多个父类的情况下Super不支持指定父类来调用方法
1、Super使用方法 super()函数在Python中用于调用父类的方法。它返回一个代理对象,可以通过该对象调用父类的方法。 要使用super()方法,需要在子类的方法中调用super(),并指定子类本身以及方法的名称。这样就可以在子类中调用父类的方法。 …...

AI大模型ollama结合Open-webui
AI大模型Ollama结合Open-webui 作者:行癫(盗版必究) 一:认识 Ollama 1.什么是Ollama Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和…...

RK3568笔记2:NOR_Flash和NAND_Flash与SDMMC和eMMC
1. 本质区别 特性NOR Flash/NAND FlashSDMMC/eMMC定义基础存储器(原始闪存芯片)基于闪存芯片的存储模块,带有控制器组成结构只有原始存储芯片存储芯片 控制器控制方式需主机直接控制,读写逻辑由主机完成内置控制器,主…...

windows python qt5 QChartView画折线图
环境:windows pyqt5 ,用QCartView画折线图 环境需要提前安装 pip install PyQtChart 折线图随着时间推移会不断移动,主动更新x轴坐标 import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout from PyQt5.QtChart imp…...

阿里云通义千问:全面解析智能云服务先锋
一、技术架构与基础 模型构建基石 采用大规模语料库训练,涵盖多领域知识,如科学、历史、文学等,确保知识储备丰富多样。运用先进的神经网络架构,深度优化模型结构,提高信息处理效率与准确性。持续的语料更新机制&…...

QT 贪吃蛇
1.注意点 新new对象时,要food->show(),否则屏幕不显示 setText() 要求字符串 事件的触发必须写在QWidget中或这是他的子类才能触发,snake.cpp继承的是QTimer 产生动态的原因是定时器每间隔一秒执行一次 信号可以定义在别的.cpp中,只要连接…...

二、点亮希望之光:寄存器与库函数驱动 LED 灯
文章目录 一、寄存器1、存储器映射2、存储器映射表3、寄存器4、寄存器映射5、寄存器重映射6、总线基地址、外设基地址、外设寄存器地址7、操作寄存器(以操作一个GPIO口为例)1. 寄存器地址定义部分2. GPIOD_Configuration 函数部分3. main 函数部分 二、库…...

Oracle 用户管理模式下的恢复案例-不完全恢复
1. 不完全恢复的几种常用方法 01. recover database using backup controlfile 如果丢失当前控制文件,用冷备份的控制文件恢复的时候,用来告诉 oracle,不要以 controlfile 中的 scn 作为恢复的终点; 02. recover database until …...

SharpDevelop IDE IViewContent.cs类
文件位置:IViewContent.cs /// <summary>/// IViewContent is the base interface for "windows" in the document area of SharpDevelop./// A view content is a view onto multiple files, or other content that opens like a document/// (e.…...

Unity RectTransUtility工具类
这个工具主要是用于动态生成UI的情况。项目中我们通过配置UI的锚点、位置以及大小(位置、大小都是通过蓝湖看到的),然后通过代码动态生成UI。 大部分情况下只要合理设置锚点,那么生成出来的UI就已经满足了适配的要求。 using UnityEngine;public static…...

React性能优化
三个可以优化的地方 避免过度多次渲染 组件会在以下情况下重新渲染 注意:例如组件组合的形式,<Test><Counter></Counter></Test>,即使Test发生了重新渲染,Counter也不会重新渲染。另外使用React这样的库或框架时&a…...

前端开发流程实操:从概念到上线
在前端开发这个充满创意与技术挑战的领域,一个清晰的开发流程是确保项目顺利进行并达到预期效果的关键。 下面就和大家分享一下前端开发的实操流程。 一、项目启动与需求分析 前端开发不是孤立的,它是整个项目的一部分,所以首先要与项目团…...

Metasploit使用
最近在学Metasploit,Metasploit是一个免费的、可下载的渗透测试框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击,是一个集成了渗透测试全流程的渗透工具。 图一 模块:模块组织按照不同的用途分为7种类型的模块 &am…...

Milvus向量数据库05-常见问题整理
Milvus向量数据库05-常见问题整理 1-什么是PipeLine 这张图展示了一个文档处理和搜索系统的架构,主要分为两个部分:Ingestion Pipeline(摄取管道)和 Search Pipeline(搜索管道)。下面是对图中各部分的详细…...