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

如何开发网站建设业务/收录排名好的发帖网站

如何开发网站建设业务,收录排名好的发帖网站,西安最新疫情情况,wordpress api 授权哈喽,大家好!我是保护小周ღ,本期为大家带来的是 MySQL 数据表中数据的基本处理的操作,数据表的增删改查,更多相关知识敬请期待:保护小周ღ *★,*:.☆( ̄▽ ̄)/$:*.★*一、 添加数据&a…

哈喽,大家好!我是保护小周ღ,本期为大家带来的是 MySQL 数据表中数据的基本处理的操作,数据表的增删改查,更多相关知识敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★*


一、 添加数据(insert into )插入

语法:

insert into 表名([字段名1,字段名2,字段名3])values('值1'),('值2)',('值3')...

into 其实可以不用写,可以根据个人意愿决定。

插入数据的时候在没有约束的情况下可以插入null 。

1.1-- 插入时匹配对应的值

desc 【表名】展示表的结构

这种方式插入数据,需要指定需要插入的列名(字段),然后根据列名(在记录没有约束的情况下)插入数据。

意思就是你可以只插入“李四" 独占一行。注意观察插入日期的格式。


1.2 -- 不声明字段新增数据,必须把所有字段的值都写上

此处使用now() 函数来插入日期时间。


1.3 -- insert语句后面可以加多个VALUES,可以添加多个数据

多行插入只需要写一个 values 即可,多行插入的性能也是优于 单行插入的,因为MySql 本质上就是客服端服务器的程序,客服端发出指令,服务器进行相应的处理,一行一行的插入意味着反复发送指令,这个点不知道大家能否能 get 到呢?


注意事项:

字段和字段之间使用英文逗号隔开
字段是可以省略的,但是后面的值必须要一一对应
可以同时插入多条数据,VALUES后面的值需要使用,隔开即可。
value,是一个具体的值,也可以是一个函数

二、查询数据 (select)

现在才是Mysql 学习中的重点,查询数据,查找表的数据实际上建立了 一张临时的表, 不会对原先的表产生改变,这张临时表只是在客户端展示一下,生命周期很短。

用户在客户端输入sql 语句,通过请求发给服务器,服务器根据请求相应得把查询结果从存取器中读取出来,通过一系列介质(网络等)传输给客服端,客服端把这些数据以临时表的形式展示出来。

2.1 基础查询

语法:

SELECT 字段,...FROM 表

以student 表为例。

-- 查询所有的员工 SELECT 字段 FROM 表

如果我们需要一次性查找所有的字段,其实不用讲所有字段全部列举出来,可以使用 ”*“ 来替代。

可以看出两者的结果是一样的。


-- 查询指定字段,ID + Name

-- 别名,给查询结果起一个名字 AS, 可以给字段取别名,也可以给表取别名

-- as可以加也可以不加

这样看起来舒服多了吧,哈哈,as 不加也可以运行,但是最好是加上,避免将别名看成字段。

-- 别名可以简化字段或者表的名称,更精准的输入

-- 给student表起别名为stu

不使用 as 也是可以的,在复杂的查询中,使用别名查询,能提升效率。


2.2 表达式查询

表达式查询也叫查询字段为表达式,为了方便展示,博主这里创建一个 学生成绩表(grade)。

包含 id (学号), name (姓名) ,chinese (语文), math (数学),english (英语) 这几个字段。

表创建成功后,接下插入几条数据。

1, 张三, 80, 90, 99,
2, 李四, 88, 76, 60 ,
3, 王五, 98, 90, 88,
4, 张三, 58, 25, 59,

例题:查找 grade 成绩表,所有学生的总成绩,显示字段 id, name, “总成绩" ;

可以看出为了查询总成绩,我们直接将 语文,数学,英语,字段相加形成一个新的字段展示出来,然后利用 as 重命名为 “总成绩 ”。如果不使用 as 字段就展示 chinese + math + english.

此时 三个字段相加型成一个新的字段的查询就叫做表达式查询(加减乘除都可),表达式查询的本质是让列和列之间进行运算 (而不是行和行之间)。

例题:查找 grade 成绩表,所有学生的语文成绩减 10 分,显示所有字段。

由此可见,查找表的数据实际上建立了 一张临时的表,这张临时表跟硬盘上的表没有任何羁绊,临时表只是在数据表的基础上产生的条件拷贝,不会对数据表产生任何影响。


2.3 去重查询 (distinct)

使用DISTINCT关键字对某列数据进行去重;

去重大家应该都能够理解是什么意思,想象这样一种环境,查找全班同学的 性别,根据性别去重操作后,得到的结果只有两种性别“男”,”女”,在学校的教师表中,查找职称,根据职称去重操作后,就可以展示每一种职称且是不重复的,以成绩表(grade)为例,有两个名字叫张三的同学,我们根据姓名去重后看看有什么效果。

作用:去除SELECT查询出来的结果中重复的数据,只显示一条

可以看出重复的姓名已经去掉了,distinct 针对多列去重的时候,要求这些列值全部都相同才视为重复。


2.4 排序查询 (order by)

语法:

--asc 为升序排序(从小到大)

--desc 为降序(从大到小)

一般是对查询数据的结果根据某个字段或者是多个字段进行排序。

order by 【字段】 asc 或 desc 【字段】 asc 或 desc …… ;
  1. 如果查询语句没有添加 order by 子句,那么查询的结构不保证是有序的,不可以依赖没有经过排序的查询结果的顺序。

  1. null 数值代表表中某项数据为空,视为比任何值都小,升序出现在最上面,降序出现在最下面。

例题:查找 grade 成绩表,所有学生的总成绩,显示字段 id, name, “总成绩" 降序,升序排序

升序:如果最后不添加 asc 默认也是 升序排序。

降序:desc

使用别名排序

可以对多个字段进行排序

查询同学各门成绩,依次按语文升序 ,数学降序,英语升序的方式显示

这句话是什么意思呢,优先按照语文成绩升序排序,当遇到相同语文成绩时,再比较两者数学成绩,降序排序,如果此时数学成绩也相同,就按照英语升序排序。 多字段排序时,字段之间使用 “,”间隔即可。

排序优先级根据顺序来。


2.5 条件查询 (where)

作用: 检索数据中==符合条件==的值

搜索的条件由一个或者多个表达式组成!结果 布尔值

条件查询相当于针对数据库的表中的数据进行遍历,取出每一行数据,把数据代入到条件中,判断条件是否符合,如果返回的条件为真,这个记录就保留,作为结果集的一部分,直到表中的数据全部遍历完毕,然后服务端会把结果集返回给客户端,客户端将数据以临时表的形式展示给用户。
别名不能作为 where 条件和当前 sql 的执行循序有关,当然这也是 mysql 对于语法规定的一部分。

比较运算符

2.5.1 基本比较查询

例题:查找英语成绩大于等于80分的同学


例题:查找姓名为张三同学成绩

例题:查找总成绩大于等于 250 分的同学的总成绩及相关信息


1. 条件查询可以根据两列进行比较,例如:语文成绩大于数学成绩的同学的信息
2. where 条件可以使用表达式,但是不能使用别名。
3.别名不能作为 where 条件和当前 sql 的执行顺序有关,当然这也是 mysql 对于语法规定的一部分。

2.5.2 逻辑运算符

例题:查找姓名为张三 且 各科成绩在80 分以上的同学的信息

例题:查找 语文成绩在80 分 或者 英语在 90分以上的同学的信息

例题:查找姓名为张三 且 语文成绩 大于 50分 或者 语文成绩 大于 80

1. 如果一个 where 中又存在 and 又存在 or 先执行 and 后执行or 。
2. and 的优先级高于 or ,同时使用时,需要使用小括号()包裹优先执行的部分。

2.5.3 模糊查询,范围查询

范围查询:

  1. between……and…… 这个区间是前闭后闭的区间。

例题:查询数学成绩在 [80,90] 分的同学及其数学成绩

  1. 使用 and 也可以实现该功能呢

两者是一样的运行机制,结果也没有什么区别。


  1. in -- ----------------------- in(具体的一个或者多个值) ------------------------

例题:查找姓名为张三 且 语文成绩在80 或者 58 分的同学的信息


模糊查询:like

-- 查询 " 张“开头的员工姓名

-- like结合 %(代表0到任意个字符),“%任意字符%”,表示包含字符匹配。


-- 查询结尾是‘四”开头仅一个字的员工

like 结合“_”(匹配一个字符)。


-- 查询姓名是“张“开头的员工信息 且 语文成绩大于等于 80 的同学信息。


null 查询

is not null 表示非空,is null 代表 空。

--查询表中姓名非空的学生的信息

--查询表中姓名 空 的学生的信息

为了方便展示这里博主先插入了一条 含有 null 的记录。


2.6 分页查询 (limit)

-- 100万,为什么要分页?缓解数据库压力,给人的体验更好

-- 语法: limit 起始行, 页面的大小,下标是从 0 开始的。区间是左闭右闭

-- 从 0 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;

注意: s 是起始行数, n 是页面最大显示记录数。

查询区间 [1,2],

当我们对数据进行分页的时候,如果查询结果不足我们按页分配的记录数, 不会有任何影响,照常显示。

分页查询常常运用于查询结果的最后,给用户一个好的视觉体验。


三、修改数据 (update)

语法:

update 【表名】set 【字段】新值;

初始表:

例题:将id 为4的同学的姓名改为张小三

也可以多个字段修改数据。

例题:将id 为5的同学的姓名改为 赵六,语文成绩修改为 90分

例题:所有同学的语文成绩 减去10分

使用updete 修改数据如果不添加条件限制修改范围则是整个表的被修改列数据都会发生改变。


四、删除数据

4.1 删除数据(delete)

delete from 【表名】where 【条件】

例题:删除张三同学的信息

注意:

在删除数据(记录)的时候注意要添加条件,条件的选择很重要,一般选择不可重复的值作为条件,便于精准定位,例如每个人的身份证号,如果不写条件的话,表中的数据会一条一条的删除。

-- 删除数据(避免这样写,会全部删除)
delete from emp

4.2 清空表数据(truncate)

truncate

作用:完全清空一个数据库表,表的结构和索引约束不会变

-- 清空 student 表

TRUNCATE `student`

delete的truncate区别
  • 相同点:都能删除数据,都不会删除表结构

  • 不同:

  • truncate 重新设置自增列计数器会归零

  • TRUNCATE TABLE相当于无条件的DELETE FROM

  • delete 可以回滚事务

  • truncate不支持事务

  • delete 后面可以添加where条件

  • delete 删除数据会一条一条的删除,而truncate 会瞬间清空表中的所有数据。

-- delete支持事务-- 开启事务
START TRANSACTION;-- 从test删除所有数据
DELETE FROM student;-- 从test表查询数据
SELECT * FROM student;-- 回滚
ROLLBACK;-- 提交
COMMIT;-- truncate不支持事务
START TRANSACTION;TRUNCATE table student;SELECT * FROM student;ROLLBACK;SELECT * FROM student;

关于事务的概念会在后期的文章中出现。

总结:无论是各种类型的查找数据还是,修改删除等,实际上都还是离不开对数据表数据的遍历,条件越复杂对系统的消耗越大这是无可避免的。


好了好了,关于查询就浅浅的说一一下啦,关于查询还有许多知识,一篇写不下,下篇博客将着重点将查询的进阶~

至此,Mysql 系列的第三篇内容博主已经分享完了,希望对大家有所帮助,如有不妥之处欢迎批评指正。

本期收录于博主的专栏——Java & MySQL,适用于编程初学者,感兴趣的朋友们可以订阅,查看其它“MySQL 数据库以及Java JDBC 编程的相关知识”。

下一期:MySQL 数据库的约束和查询的进阶

感谢每一个观看本篇文章的朋友,更多精彩敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★*

遇见你,所有的星星都落在我的头上……

相关文章:

【MySQL】表的数据处理

哈喽,大家好!我是保护小周ღ,本期为大家带来的是 MySQL 数据表中数据的基本处理的操作,数据表的增删改查,更多相关知识敬请期待:保护小周ღ *★,*:.☆( ̄▽ ̄)/$:*.★*一、 添加数据&a…...

反思当下所处的环境,有没有让你停滞不前、随波逐流

环境对人的影响真的很大,小时候的环境、长大后的环境、工作环境、生活环境、好的环境、差的环境......我们都生活在一定的环境中所以既是环境的产物,又是环境的创造者与改造者。我们与环境的关系是相辅相成的我们的生活和工作当中接触到的人或事或物&…...

小程序(十四)后端-签到成功

文章目录一、持久层1、CheckinMapper.xml2、CheckinMapper.java3、TbHolidaysDao.xml4、TbHolidaysDao.java5、TbWorkdayDao.xml6、TbWorkdayDao.java二、业务层1、 CheckinService.java三、conroller层1、编写 TbUserDao.xml 文件,查询员工的入职日期。2、编写 TbU…...

X264简介-Android使用(一)

X264 简介及使用 1、简介 2、环境搭建 3、使用 4、小结 简介 官网连接:https://www.videolan.org/developers/x264.html 官方文档:https://wiki.videolan.org/Category:X264/ x264是用于编码H.264/MPEG-4 AVC视频流的免费软件库。它世界上最流行的…...

DetectGPT:使用概率曲率的零样本机器生成文本检测

DetectGPT的目的是确定一段文本是否由特定的llm生成,例如GPT-3。为了对段落 x 进行分类,DetectGPT 首先使用通用的预训练模型(例如 T5)对段落 ~xi 生成较小的扰动。然后DetectGPT将原始样本x的对数概率与每个扰动样本~xi进行比较。…...

【深度学习】BERT变体—BERT-wwm

1.BERT-wwm 1-1 Whole Word Masking Whole Word Masking (wwm)是谷歌在2019年5月31日发布的一项BERT的升级版本,主要更改了原预训练阶段的训练样本生成策略。 原有基于WordPiece的分词方式会把一个完整的词切分成若干个子词,在生成训练样本时&#xff…...

【华为OD机试真题 java、python、c++】优秀学员统计【2022 Q4 100分】(100%通过)

代码请进行一定修改后使用,本代码保证100%通过率。本文章提供java、python、c++三种代码 题目描述 公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。 每个员工会对应一个id,每天的打卡记录记录当…...

JavaScript里的循环方法:forEach,for-in,for-of

文章目录forEach循环for–in循环for-of循环for-of循环使用例子:循环一个数组(Array):循环一个字符串:循环一个类型化的数组(TypedArray):循环一个Map:循环一个 Set:循环一个 DOM collection循环一个拥有enumerable属性的对象循环一个生成器(g…...

汽车标定知识整理(二):CCP报文基本命令介绍

目录 一、基本命令 CRO命令报文的基本命令表: 二、基本命令与可选命令帧格式介绍 1、CONNECT——建立连接(0x01) 2、GET_CPP_VERSION——获取CCP版本(0x1B) 3、SET_MTA——设置内存传输地址(0x02&#…...

windows系统安装Linux虚拟机教程

虚拟机的安装首先要下载虚拟机的安装包,当前最新版本是VMware 16.2.1。软件我都已经给大家准备好了(含序列号),大家在这里下载就好。虚拟机安装包下载完毕之后,将它安装到电脑里。这个安装过程很简单,一路下…...

“基于Spring Cloud Alibaba的微服务架构实战:Nacos配置管理“

引言 Spring Cloud Alibaba 是 Spring Cloud 和 Alibaba 集团联合推出的开源微服务框架,旨在为 Java 开发者提供一种简单、易用、高效的微服务解决方案。Nacos 是一个面向云原生应用的动态服务发现、配置管理和服务管理平台,提供了服务注册与发现、配置管…...

【Linux】常见面试题

1. 查看文件内容 cat tail head less more 2. 几个查看文件内容的命令有什么区别 cat 文件名 # 将文件内的内容全部打印出来,cat 文件1 文件2 先将文件1全部法印,然后在打印文件2 more 文件名 # 分屏查看 less 文件名 # 上下分页查看 head 文件…...

【数据结构】顺序表:尾部操作我很行,随机访问我超快!!!

顺序表的模拟实现 文章目录顺序表的模拟实现1.线性表2.顺序表2.1概念结构2.2顺序表的模拟实现2.2.1顺序表的初始化2.2.2顺序表的销毁2.2.3尾插数据2.2.4尾删数据2.2.5头插数据2.2.6头删数据2.2.7中间插入数据2.2.8中间删除数据2.2.9打印顺序表2.2.10查找数据2.2.11复用Insert和…...

SQL优化

SQL优化 SQL优化的方法: sql查询语句尽不使用select * ,而是具体的字段。 节约资源,减少网络开销。减少回表,提高查询效率。 避免在where子句中使用or来连接条件。 or可能会使索引失效,从而进行全表查询。 尽量使用…...

Java ArrayList 和 LinkList 原理对比

Java 中的 ArrayList 和 LinkedList 都是实现了 List 接口的集合类它们都允许添加、删除和修改元素。但是它们的底层实现原理不同导致它们在不同的场景下拥有不同的优劣势。 ArrayListArrayList 的底层是通过数组实现的因此它具有数组的特性。它允许快速随机访问元素但是在插入…...

【Spring】入门概述(一)

🚗Spring学习第一站~ 🚩本文已收录至专栏:Spring家族学习之旅 👍希望您能有所收获 一.初识 Spring并不是单一的一个技术,而是一个大家族,发展到今天已经形成了一种开发的生态圈,Spring提供了若…...

十二、面向切面编程AOP

IoC使软件组件松耦合。AOP让你能够捕捉系统中经常使用的功能,把它转化成组件。 AOP(Aspect Oriented Programming):面向切面编程,面向方面编程。(AOP是一种编程技术) AOP是对OOP的补充延伸。 …...

Mybatis 处理 CLOB/BLOB 类型数据

Mybatis 处理 CLOB/BLOB 类型数据 BLOB 和 CLOB 都是大型字段类型。 BLOB通过二进制存储,而CLOB可以直接存储文本。 通常,图片、文件、音乐等信息存储在 BLOB 字段中。首先,文件是转换为二进制,然后存储在。文章或较长的文本存…...

【NLP经典论文阅读】Efficient Estimation of Word Representations in Vector Space(附代码)

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...

Spring bean生命周期分为几个阶段?

bean 的生命周期从调用 beanFactory 的 getBean 开始,到这个 bean 被销毁,可以总结为以下七个阶段:处理名称,检查缓存→处理父子容器→处理 dependsOn→选择 scope 策略→创建 bean→类型转换处理→销毁 bean划分的阶段和名称并不…...

【基础算法】单链表的OJ练习(4) # 分割链表 # 回文链表 #

文章目录前言分割链表回文链表写在最后前言 本章的OJ练习相对前面的难度加大了&#xff0c;但是换汤不换药&#xff0c;还是围绕单链表的性质来出题的。我相信&#xff0c;能够过了前面的OJ练习&#xff0c;本章的OJ也是轻轻松松。 对于OJ练习(3)&#xff1a;-> 传送门 <…...

SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊)

SpringBoot整合定时任务和邮件发送&#xff08;邮箱 信息轰炸 整蛊&#xff09; 目录SpringBoot整合定时任务和邮件发送&#xff08;邮箱 信息轰炸 整蛊&#xff09;1.概述2.最佳实践2.1创建项目引入依赖(mail)2.2 修改yml配置文件2.3 启动类添加EnableScheduling注解2.4 执行的…...

Arduino添加ESP32开发板

【2023年3月4日】 最近要在新电脑上安装Arduino&#xff0c;需要进行一些配置&#xff0c;正好记录一下&#xff01; Arduino2.0.1 下的开发板添加操作。 ESP32开发板GitHub链接&#xff1a; GitHub - espressif/arduino-esp32: Arduino core for the ESP32Arduino core for…...

Mysql通配符的使用

LIKE操作符 通配符&#xff1a;用来匹配值的一部分的特殊字符。 搜索模式&#xff1a;由字面值&#xff0c;通配符或两者组合构成的搜索条件。 百分号(%)通配符 搜索模式使用例如下 SELECT prod_id, prod_name FROM products WHERE prod_name Like jet%; 这条子句表示&…...

RocketMQ-02

1. 案例介绍 1.1 业务分析 模拟电商网站购物场景中的【下单】和【支付】业务 ###1&#xff09;下单 用户请求订单系统下单订单系统通过RPC调用订单服务下单订单服务调用优惠券服务&#xff0c;扣减优惠券订单服务调用调用库存服务&#xff0c;校验并扣减库存订单服务调用用户…...

深度学习卷积神经网络CNN之 VGGNet模型主vgg16和vgg19网络模型详解说明(理论篇)

1.VGG背景 2. VGGNet模型结构 3. 特点&#xff08;创新、优缺点及新知识点&#xff09; 一、VGG背景 VGGNet是2014年ILSVRC&#xff08;ImageNet Large Scale Visual Recognition Challenge大规模视觉识别挑战赛&#xff09;竞赛的第二名&#xff0c;解决ImageNet中的1000类图…...

三:BLE协议架构简介

低功耗蓝牙体系整体架构说明1. PHY(物理层)2. LL(链路层)3. HCI(主机与控制器通信接口)4. L2CAP(逻辑链路控制及适配协议)5. ATT(属性协议)6. GATT(通用属性规范)7. GAP(通用访问规范)8. SM(安全管理)整体架构说明 架构层说明PHY1. 物理层2. 控制射频的发送和接收LL1. 链路层2.…...

小型双轮差速底盘双灰度循迹功能的实现

1. 功能说明 在机器人车体上安装2个 灰度传感器 &#xff0c;实现机器人按照下图所指定的路线进行导航运动&#xff0c;来模拟仓库物流机器人按指定路线行进的工作过程。 2. 使用样机 本实验使用的样机为R023e样机。 3. 功能实现 3.1 电子硬件 在这个示例中&#xff0c;我们采…...

电子签名?玩具罢了!

需要的前置知识&#xff1a;简单的canvas绘制线路过程 let canvas document.getElementById(id); //id为canvas标签元素的id&#xff0c;或通过其它方法获取标签 let ctx canvas.getContext(2d); //规定为2d绘制图片&#xff0c;即确定为2d画笔 ctx.strokeStyle "whit…...

【Spring Boot读取配置文件的方式】

Spring Boot 支持多种读取配置文件的方式&#xff0c;常用的方式有以下三种&#xff1a; application.properties&#xff1a; Spring Boot 默认会读取该文件作为应用的配置文件。可以在 src/main/resources 目录下创建该文件&#xff0c;并在其中配置应用的属性。 applicat…...