【MySQL学习笔记】添加数据、查询数据、修改数据、删除数据

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL中用insert语句向数据表中添加数据,根据操作的不同目的一般分为两种,一种是为所有字段添加数据,一种格式为部分字段添加数据。但如果要添加的数据过多,重复操作很麻烦,此时就需要一次添加多行数据。

哈喽大家好~

这里是MYSQL数据库原理学习笔记专栏第三期

本期内容——添加数据、查询数据、修改数据、删除数据

上期内容——数据库/数据表的创建、查看、选择与修改

第一期内容——数据库基础知识

欢迎大佬指正,一起学习,一起加油~


5dc9f7f566fc484784e7e40a7f4d630d.gif


前言


要想操作数据表中的数据,首先要保证数据表中存在数据,本期学习内容是数据操作。接下来,和小编一起开启学习之旅吧~👇


🍓添加数据


MySQL中用insert语句向数据表中添加数据,根据操作的不同目的一般分为两种,一种是为所有字段添加数据,一种格式为部分字段添加数据。但如果要添加的数据过多,重复操作很麻烦,此时就需要一次添加多行数据。


🍎为所有字段添加数据


为所有字段插入记录时,可以省略字段名称,严格按照数据表结构(字段的位置)插入对应的值,语法如下:


insert into 数据表名 value/values (值1,值2…);


into:关键字,是可选项;

value/values:可以任选一种,通常情况下使用values;

值1,值2...:要插入的对应的值,多个值之间用逗号分隔。

如下,我们在创建的goods表中添加编号、名称、价格三个数据(上期创建了goods表噢,如果这个地方代码不太理解可以看看上期代码噢~):


0007b651330e4a1cac547cadb423197a.png


注意:插入的数据顺序应该与创建数据表时对应的字段顺序相同!


在上面的代码中,我们插入的是英文字符,如果是中文字符,结果会是怎么样的呢?


在MySQL中,如果创建的数据表未指定字符集,则数据表及表中的字段将使用默认的字符集latin1,此时插入中文字符,则会报错。👇


解决方法:


1、创建数据表时添加表选项,设置数据表的字符集,charset表示设置字符集,utf8字符集支持世界上大多数国家的字符,推荐使用!👇


create table my_goods(
字段…
)default charset utf8;


2、如果数据表中已经添加了数据,则可以通过alter table ... change/modify完成对表字段字符集的设置。如下,修改my_goods数据表中的name为例:


2a44ceab3b18435d93a024f07575ffdb.png

f548fed93eae456885b784ece61095c0.png


🍎为部分字段添加数据


除了为数据表中所有字段添加数据外,还可以通过指定字段名的方式增加数据。其中,指定字段名的方式可以是数据表中全部的字段,也可以是部分的字段。


🍇方法一


语法如下:


insert into 数据表名 (字段名1,字段名2…) value/values (值1,值2…);


上述语法中,多个字段名之间用逗号隔开,字段名的编写顺序可以与表结构(字段位置)不同,只需保证值列表与其相对应即可。


84fd1c6844cb4000b9f6ff7e88e7cb0a.png


注意:

字段的名称不需要用引号包裹;

未添加数据的字段系统会自动为该字段添加默认值null。


🍇方法二


insert into 数据表名 set 字段名1=值1,字段名2=值2…;


字段名1,字段名2:待添加数据的字段名称;

值1,值2:添加的数据。

注意:最后一个字段赋值后不需要添加逗号。


6c79b7363e3140f79e9b0195d55698c6.png


🍎一次添加多行数据


如果需要同时插入多条数据,重复写insert不仅繁琐,而且不方便阅读,此时,就需要多数据插入。语法如下:


insert into 数据表名/字段列表 value/values (值列表);


如下,完成一次添加多行数据👇


ac5ca10bf59a4d76ac8658e69482c7e7.png


🍓查询数据


🍎查询表中全部数据


查询表中所有字段的数据,可以使用星号*代替表中所有字段名,语法如下:


select * from 数据表名;


6d01e42c284d41f09ce76e47d022b75e.png


🍎查询表中部分数据


在select语句的字段列表中指定要查询的字段,则可以查询表中部分数据,语法如下:


select {字段名1,字段名2…} from 数据表名;


69583af1672b4ee8a15041412d452d7b.png


🍎简单条件查询数据


若想要查询出符合条件的相关数据记录时,可使用where实现,语法如下:


select * {字段名1,字段名2…} from 数据表名 where 字段名 = 值;


3f8d04f185004c749845a542ed2ce699.png


🍓修改数据


修改数据是数据库中常见的操作,通常对表中的部分记录进行修改,一般使用update语句修改数据,语法如下:


update 数据表名 set 字段名1=值1 where 条件表达式;


ba1295f2ac034fe690fccc9e02f1c70d.png


注意:如果实际使用时没有添加where条件,那么表中所有对应的字段都会被修改成统一的值,所以修改数据时,要谨慎操作。


🍓删除数据


删除数据是对表中存在的记录进行删除,MySQL中使用delete语句进行删除,语法如下:


delete from 数据表名 where 条件表达式;


数据表名:指定要执行删除操作的表;


where:可选参数,设置删除的条件,满足条件的记录会被删除。


61beea0d225941de8044d3c5b1e4aac1.png


总结


以上就是今天的学习内容啦~

如果有兴趣的话可以订阅专栏,持续更新呢~

咱们下期再见~


d6e4e85d097e48d28dadae66926ba832.gif

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
45
分享
相关文章
MySQL底层概述—4.InnoDB数据文件
本文介绍了InnoDB表空间文件结构及其组成部分,包括表空间、段、区、页和行。表空间是最高逻辑层,包含多个段;段由若干个区组成,每个区包含64个连续的页,页用于存储多条行记录。文章还详细解析了Page结构,分为通用部分(文件头与文件尾)、数据记录部分和页目录部分。此外,文中探讨了行记录格式,包括四种行格式(Redundant、Compact、Dynamic和Compressed),重点介绍了Compact行记录格式及其溢出机制。最后,文章解释了不同行格式的特点及应用场景,帮助理解InnoDB存储引擎的工作原理。
MySQL底层概述—4.InnoDB数据文件
MySQL和SQLSugar百万条数据查询分页优化
在面对百万条数据的查询时,优化MySQL和SQLSugar的分页性能是非常重要的。通过合理使用索引、调整查询语句、使用缓存以及采用高效的分页策略,可以显著提高查询效率。本文介绍的技巧和方法,可以为开发人员在数据处理和查询优化中提供有效的指导,提升系统的性能和用户体验。掌握这些技巧后,您可以在处理海量数据时更加游刃有余。
41 9
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
18 2
join查询可以⽆限叠加吗?MySQL对join查询有什么限制吗?
大家好,我是 V 哥。本文详细探讨了 MySQL 中 `JOIN` 查询的限制及其优化方法。首先,`JOIN` 查询不能无限叠加,存在资源(CPU、内存、磁盘 I/O)、性能和语法等方面的限制。过多的 `JOIN` 操作会导致数据库性能急剧下降。其次,介绍了三种常见的 `JOIN` 查询算法:嵌套循环连接(NLJ)、索引嵌套连接(INL)和基于块的嵌套循环连接(BNL),并分析了它们的触发条件和性能特点。最后,分享了优化 `JOIN` 查询的方法,包括 SQL 语句优化、索引优化、数据库配置调整等。关注 V 哥,了解更多技术干货,点赞👍支持,一起进步!
MySQL进阶突击系列(09)数据磁盘存储模型 | 一行数据怎么存?
文中详细介绍了MySQL数据库中一行数据在磁盘上的存储机制,包括表空间、段、区、页和行的具体结构,以及如何设计和优化行数据存储以提高性能。
【YashanDB 知识库】MySQL 迁移至崖山 char 类型数据自动补空格问题
问题分类】功能使用 【关键字】char,char(1) 【问题描述】MySQL 迁移至崖山环境,字段类型源端和目标端都为 char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格 【问题原因分析】mysql 有 sql_mode 控制,检查是否启用了 PAD_CHAR_TO_FULL_LENGTH SQL 模式。如果启用了这个模式,MySQL 才会保留 CHAR 类型字段的尾随空格,默认没有启动。 #查看sql_mode mysql> SHOW VARIABLES LIKE 'sql_mode'; 【解决/规避方法】与应用确认存储的数据,正确定义数据
E-Mapreduce如何处理RDS的数据
目前网站的一些业务数据存在了数据库中,这些数据往往需要做进一步的分析,如:需要跟一些日志数据关联分析,或者需要进行一些如机器学习的分析。在阿里云上,目前E-Mapreduce可以满足这类进一步分析的需求。
4990 0
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
151 42
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
96 25
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等