MySQL 之 DML 应用实战|学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习 MySQL 之 DML 应用实战

开发者学堂课程【MySQL 实操课程 MySQL 之 DML 应用实战】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/717/detail/12805


MySQL 之 DML 应用实战

 

目录

一、DML 介绍

二、插入记录

三、更新、删除记录

四、查询指定列、查询不重复记录

 

一、DML介绍

DML 定义

DML(Data Manipulation Language): 数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的关键字主要包括 insert、delete、update 和 select 等。

 

二、插入记录

示例:插入记录

1.查看 emp 表

输入 SELECT * from EMP; 下图可以看见 emp 表里面没有任何数据库。

图片58.png

2.插入记录

输入 INSERT into emp(ename,hiredate,sal,deptno) VALUE('zhangsan','2015-08-01','2000',1)

INSERT into emp(ename,hiredate,sal,deptno) VALUE(lisi','2017-09-21','3000',1)

显示执行成功

图片59.png

3.查看 emp 表是否成功插入记录

输入 SELECT * from EMP;可以看见已经插入成功

4.创建 dept 表

输入 CREATE TABLE dept(deptno int(3),deptname varchar(20));

5.在 dept 表中插入数据库

输入 insert INTO dept VALUES(1,'tech'),(2,'sal'),(3,'fin');

显示执行成功

图片60.png 

当前有两个数据表

一个是 emp 表,一个是 dept 表

图片61.png

6.查看 dept 表

输入 SELECT * from dept;输入 insert INTO dept VALUES(1,'tech'),(2,'sal'),(3,'fin'); 已经执行成功。

7.查看 emp 表

输入 SELECT * from emp;

图片62.png

 

三、更新、删除记录

1.更新记录

示例:将 lisi 的 sal 更新为4000

输入 select * from emp;可以看见 lisi 当前的 sal 为3000

图片63.png

输入 UPDATE emp set sal=4000 where ename='lisi'; 显示执行成功

验证 emp 表是否执行成功

输入 select * from emp;显示‘lisi’的sal更新为4000执行成功

2.删除记录

示例:将 lisi 删除

输入 DELETE FROM emp where ename='lisi'; 显示执行成功

验证 emp 表是否执行成功

输入 select * from emp;显示‘lisi’已经被删除

图片64.png

3.删除记录的另一种方式:利用 truncate

truncate table emp 是删除整个表里面的数据,一次性清除

输入 truncate table emp;显示执行成功

验证 emp 表是否执行成功

输入 select * from emp;emp 表里面已经没有任何数据(全部清除)。

图片65.png

4.truncate 与 delete 的差异

(1)delete 对于表的删除:如果表含有自增的列,那么在 delete 的过程中,插入的数据,表的自增列不会重零继续开始,而是接着原来删除的记录开始。

示例:增加列

①输入 ALTER table emp add COLUMN id int(3) auto_increment;

显示错误:需要指定组件,因为是自增列

图片66.png

②添加组件

输入 ALTER table emp add COLUMN id int(3) auto_increment primary key; 显示语法错误

图片67.png

③重新输入

alter table emp add id int auto_increment primary keyfirst; 点击执行

④查看 desc 表

输入 desc emp;可以看见 auto_increment 已经成功执行了。

⑤查询 emp 表

输入 select * from emp;可以看见没有任何数据

图片68.png

⑥插入 zhangsan 数据

输入 insert into emp(ename,hiredate,sal,deptno) VALUES('zhangsan','2007-08-01',2000,1); 执行成功

图片69.png

查询 emp 表

输入 select * from emp;插入数据成功

图片70.png

⑦插入 lisi 数据

输入insert into emp(ename,hiredate,sal,deptno) VALUES('lisi','2017-08-25',3000,1); 执行成功

图片71.png

查询 emp 表

输入 select * from emp;插入数据成功

图片72.png

可以看见 ID 会自增。

示例:删除之后在插入数据

输入 delete from emp;

图片73.png

输入 select * from emp;可以看见 emp 表里面的数据为空。

图片74.png

直接插入 insert into emp(ename,hiredate,sal,deptno) VALUES('zhangsan','2007-08-01',2000,1);

图片75.png

输入 select * from emp;ID 是从3开始的,即使把前面两条数据删除了,ID 依然是从原来删除的 ID 自增的。

图片76.png

执行 truncate table emp;把数据删除

图片77.png 

查询:输入 select * from emp;是没有数据的

图片78.png

插入 insert into emp(ename,hiredate,sal,deptno) VALUES('zhangsan','2007-08-01',2000,1);

图片79.png 

查询:输入 select * from emp;ID 是从1开始

图片80.png 

(2)delete 对于数据的删除,如果是放在事物里面,它是可以支持回滚,但是truncate 不支持数据的回滚。

 

四、查询指定列、查询不重复记录

1.查询指定列

(1)插入 'lisi、wangwu

插入insert into emp(ename,hiredate,sal,deptno) VALUES('lisi','2017-08-25',3000,1);

再插入 insert into emp(ename,hiredate,sal,deptno) VALUES('wangwu','2019-11-18',8000,2);

图片81.png 

查询 emp 表

输入 select * from emp;有三条数据

图片82.png 

(2)不显示 ID

输入 select ename,hiredate,sal,deptno from emp; 已经不显示 ID 了

图片83.png 

2.查询涉及到的部门

输入 select DISTINCT deptno from emp; 只显示两个部门。

图片84.png

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11小时前
|
SQL 存储 关系型数据库
不允许你不知道的 MySQL 优化实战(三)
不允许你不知道的 MySQL 优化实战(三)
27 1
|
11小时前
|
SQL 关系型数据库 MySQL
不允许你不知道的 MySQL 优化实战(二)
不允许你不知道的 MySQL 优化实战(二)
27 2
|
11小时前
|
SQL 关系型数据库 MySQL
【MySQL-7】DML的表操作详解:添加数据&修改数据&删除数据(可cv例题语句)
【MySQL-7】DML的表操作详解:添加数据&修改数据&删除数据(可cv例题语句)
|
11小时前
|
SQL 关系型数据库 MySQL
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
|
11小时前
|
缓存 关系型数据库 MySQL
MySQL数据库性能优化实战
【4月更文挑战第30天】本文探讨了MySQL性能优化实战技巧,包括硬件与配置优化(如使用SSD、增加内存和调整配置参数)、索引优化(创建合适索引、使用复合索引及定期维护)、查询优化(避免全表扫描、减少JOIN和使用LIMIT)、分区与分片(表分区和数据库分片),以及使用缓存、定期清理数据库和监控诊断。通过这些方法,可以提升数据库性能和响应速度。
|
11小时前
|
SQL 关系型数据库 数据库
【MySQL】:深入理解并掌握DML和DCL
【MySQL】:深入理解并掌握DML和DCL
18 0
|
11小时前
|
运维 监控 关系型数据库
Serverless 应用引擎产品使用之在阿里云函数计算(FC)中,要访问另一个账号的rds配置rds的白名单如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
34 0
|
11小时前
|
存储 关系型数据库 MySQL
MySQL数据库实战:从入门到精通
本文介绍了MySQL的使用和优化,适合Web开发者阅读。首先,确保安装并配置好MySQL,熟悉SQL基础。接着,通过命令行客户端连接数据库,执行创建、查询、添加、修改和删除数据等操作。学习数据类型并创建表存储数据。最后,探讨了数据库优化,包括查询优化和索引使用,以提升性能。
27 2
|
11小时前
|
安全 关系型数据库 MySQL
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
24 3
|
11小时前
|
SQL 关系型数据库 MySQL
一文带你了解MySQL的DML语句
一文带你了解MySQL的DML语句
20 1