热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql查看dml,MySQL系列DML语句

MySQL系列-DML语句运维少年运维少年系列文章说明MySQL系列文章包含了软件安装、具体使用、备份恢复等内容,主要用于记录个人的学习笔记,主要使用的

MySQL系列-DML语句

运维少年 运维少年

系列文章说明

MySQL系列文章包含了软件安装、具体使用、备份恢复等内容,主要用于记录个人的学习笔记,主要使用的MySQL版本为5.7.28,服务器系统版本为CentOS 7.5。本章节为DML语句使用,其中不包含select语句。

何为DML语句

DML(Data Manipulation Language)数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。

DML语句和DDL语句有何不同?DML语句用于对表中的数据进行操作(如插入数据insert、删除数据delete、更新数据update、查询数据select等),而DDL语句则是对数据库和数据表的结构进行操作(如创建表/库 create、删除表/库 drop 、修改表/库 alter等)。

总结:DML是日常使用最多的语句,其主要作用是对表中的数据进行管理。

DML语句使用

DML语句主要包括insert、update、delete、select(后续章节介绍)

本次用到的表如下:

6cff0b08d41076caa2dd8bafdb2577bd.png

DML insert

insert语句用于表数据插入,格式如下:

insert into 表名(列名) values(列值)

例1:在student表中插入yunwei1的信息

insert into student(sno,sname,sage,ssex) values(11,'yunwei1',24,'m');

insert语句说明

①如果全部列都设置列值,可以不用指定列名

②一般来说,自增长列可以不用指定列名和设置列值

例2:不指定列名插入yunwei2的信息

insert into student values(12,'yunwei2',27,'f');

6aa0e95ecbc59b13ee7f44281e9298ab.png

例3:不指定自增长列插入yunwei3的信息

insert into student(sname,sage,ssex) values('yunwei3',30,'m');

ba349d4351d8ca4dd68e55b60f9352cb.png

例4:一条语句插入yunwei4和yunwei5的信息

insert into student(sname,sage,ssex) values('yunwei4',19,'m'),('yunwei5',17,'f');

152675ed513a0c2f6095542a9af9593c.png

DML update

update语句主要用于更新表数据,一般配合where使用,其格式如下:

update 表名 set 列名1=列值1,列名2=列值2 where 条件;

例1:将yunwei5的年龄修改为27

update student set sage=27 where sname='yunwei5';

5caf18e61ecf104e4ed46b2090548bd5.png

例2:将yunwei4的名字修改为yunwei44,年龄改为88

update student set sname='yunwei44',sage=88 where sname='yunwei4';

a6889d90e34a3d5547112ffaf3cdb639.png

DML delete

delete用于删除表中的数据,一般配合where语句使用,其格式如下:

delete from 表名 where 条件;

例1:删除yunwei44的信息

delete from student where sname='yunwei44';

8c55218427c7b5ee928f5ac30ac32ea1.png

0 1伪删除

伪删除是什么?伪删除即表面上看不到该数据,但数据还是存在的。

为什么需要伪删除?一般数据删除后,恢复流程麻烦,且有无法恢复的风险。伪删除可以帮助我们实现删除的数据不显示,但如果想使用的时候可以将数据随时显示出来。

伪删除是怎么做的?伪删除的实现办法是在表中添加一个状态列标识数据行的状态,比如列值1表示没有删除,0表示数据已删除,然后在查看数据时,加上条件,只显示状态列为1的数据即可。

#在表中插入新列(注:生产上请谨慎操作,修改表结构会导致暂时的锁表)

alter table student add column status tinyint not null default 1 comment '数据状态';

d02ca57b5346b1d3bfcd933c12b18e62.png

例:伪删除yunwei5的信息

update student set status=0 where sname='yunwei5';

8af4f57116140d0542fe97ca18ad375e.png

例:恢复yunwei5的信息

update student set status=1 where sname='yunwei5';

0 2删除表所有数据

删除表所有数据可以使用delete和truncate语句进行删除。

delete:逐行删除,如果数据行过多,删除操作很慢,而且并没有真正从磁盘删除,只是在存储层面打标记,磁盘空间不会立即释放,自增的值也不会释放。HWM高水位线不会降低。

truncate:清空表段中的所有数据页面,物理磁盘空间上删除,磁盘空间立即释放,HWM高水位线会降低

delete命令格式如下:

delete from 表名;

truncate命令格式如下:

truncate table 表名;

个人思维导图

89c6117b61656c944b3d47db1c18a72b.png

end

来源: https://blog.51cto.com/15082392/2656121



推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
author-avatar
百厌仔小菜一碟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有