11章MySQL:数据处理之增删改

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 11章MySQL:数据处理之增删改

1、插入数据

方式1:使用VALUES添加

情况1:为表的所有字段按默认顺序插入数据


INSERT INTO 表名
VALUES (value1,value2,....);


注意点:


值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。


举例:


#先简单创建一个departments表
CREATE TABLE IF NOT EXISTS departments(
dep_id INT PRIMARY KEY,   #部门id
dep_name VARCHAR(30),   #部门name
man_id INT,      #部门管理者id
loc_id INT      #部门地址id
);


INSERT INTO departments
VALUES (70, 'Pub', 100, 1700);


INSERT INTO departments
VALUES (100, 'Finance', NULL, NULL);


情况2:为表的指定字段插入数据


INSERT INTO 表名(column1 [, column2, …, columnn]) 
VALUES (value1 [,value2, …, valuen]);


为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。


举例:


INSERT INTO departments(dep_id , dep_name)
VALUES (80, 'IT');


情况3:同时插入多条记录


语法格式:


INSERT INTO table_name 
VALUES 
(value1 [,value2, …, valuen]),
(value1 [,value2, …, valuen]),
……
(value1 [,value2, …, valuen]);


或者


INSERT INTO table_name(column1 [, column2, …, columnn]) 
VALUES 
(value1 [,value2, …, valuen]),
(value1 [,value2, …, valuen]),
……
(value1 [,value2, …, valuen]);


举例:


INSERT INTO departments(dep_id , dep_name)
VALUES (101,'A'),
(102,'B'),
(103,'C');


一个同时插入多行记录的INSERT语句等同于多个单行插入的INSERT语句,但是多行的INSERT语句在处理过程中效率更高。因为MySQL执行单条INSERT语句插入多行数据比使用多条INSERT语句快,所以在插入多条记录时最好选择使用单条INSERT语句的方式插入。


方式2:将查询结果插入到表中

语法格式:


INSERT INTO 表名
(tar_column1 [, tar_column2, …, tar_columnn])
SELECT
(src_column1 [, src_column2, …, src_columnn])
FROM 源表名
[WHERE condition]


举例:


#将employees表中部门id是90的所有信息插入到emp表中
INSERT INTO emp 
SELECT * 
FROM employees
WHERE department_id = 90;


#将employees表中,job_id含有REP的employee_id, last_name, salary, commission_pct
#插入到sales_reps表中,分别对应字段id, name, salary, commission_pct
INSERT INTO sales_reps(id, name, salary, commission_pct)
SELECT employee_id, last_name, salary, commission_pct
FROM   employees
WHERE  job_id LIKE '%REP%';


2、修改数据

语法格式:


UPDATE table_name
SET column1=value1, column2=value2, … , column=valuen
[WHERE condition]


举例:


#把employees表中id是113的department_id改为70
UPDATE employees
SET    department_id = 70
WHERE  employee_id = 113;


需要注意的是,如果省略 WHERE 子句,则表中的所有数据都将被更新。


#把copy_emp表中部门id是110的所有信息进行修改
UPDATE  copy_emp
SET     department_id = 110;


3、删除数据

语法格式:


DELETE FROM 表名[WHERE <condition>];


举例:


DELETE FROM departments
WHERE  department_name = 'Finance';


没有where筛选条件会删除所有的记录


DELETE FROM  copy_emp;


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
存储 关系型数据库 MySQL
轻松入门MySQL:揭秘MySQL游标,数据处理的神秘利器(16)
轻松入门MySQL:揭秘MySQL游标,数据处理的神秘利器(16)
133 0
|
6月前
|
关系型数据库 MySQL Serverless
MYSQL数字函数:不可不知的数据处理利器
MYSQL数字函数是数据处理的得力助手,高效、准确且灵活。从基础数学运算到复杂数据转换,如ROUND、CEILING、FLOOR等,它们都能轻松胜任。ROUND函数实现数据四舍五入,而CEILING和FLOOR则分别进行向上和向下取整。这些函数不仅提升数据处理效率,还保障数据精确性和一致性。在数据分析、报表生成及业务逻辑处理中,MYSQL数字函数均扮演关键角色。对于数据处理开发者而言,熟练掌握这些函数是不可或缺的技能,它们将极大助力工作并提升职业竞争力。
97 0
|
3月前
|
存储 关系型数据库 MySQL
"深入探索MySQL临时表:性能优化利器,数据处理的灵活之选"
【8月更文挑战第9天】MySQL临时表专为存储临时数据设计,自动创建与删除,仅在当前会话中存在,有助于性能优化。它分为本地临时表和全局临时表(通过特定逻辑模拟)。创建语法类似于普通表,但加TEMPORARY或TEMP关键字。适用于性能优化、数据预处理和复杂查询,需注意内存占用和事务支持问题。合理使用可大幅提升查询效率。
214 2
|
3月前
|
canal 关系型数据库 MySQL
"揭秘阿里数据同步黑科技Canal:从原理到实战,手把手教你玩转MySQL数据秒级同步,让你的数据处理能力瞬间飙升,成为技术界的新晋网红!"
【8月更文挑战第18天】Canal是一款由阿里巴巴开源的高性能数据同步系统,它通过解析MySQL的增量日志(Binlog),提供低延迟、可靠的数据订阅和消费功能。Canal模拟MySQL Slave与Master间的交互协议来接收并解析Binary Log,支持数据的增量同步。配置简单直观,包括Server和Instance两层配置。在实战中,Canal可用于数据库镜像、实时备份等多种场景,通过集成Canal Client可实现数据的消费和处理,如更新缓存或写入消息队列。
762 0
|
5月前
|
关系型数据库 MySQL 数据处理
实时计算 Flink版产品使用问题之第一次启动全库同步了, 然后增删改的mysql数据没有及时同步,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
关系型数据库 MySQL 数据挖掘
MySQL 8窗口函数详解:高效数据处理的必备技能
MySQL 8窗口函数详解:高效数据处理的必备技能
234 3
|
6月前
|
关系型数据库 MySQL Serverless
MYSQL数字函数:不可不知的数据处理利器
MYSQL数字函数是数据处理的得力助手,高效、准确且灵活。从基础数学运算到复杂数据转换,如ROUND、CEILING、FLOOR等,它们都能轻松胜任。ROUND函数实现数据四舍五入,而CEILING和FLOOR则分别进行向上和向下取整。这些函数不仅提升数据处理效率,还保障数据精确性和一致性。在数据分析、报表生成及业务逻辑处理中,MYSQL数字函数均扮演关键角色。对于数据处理开发者而言,熟练掌握这些函数是不可或缺的技能,它们将极大助力工作并提升职业竞争力。
191 6
|
6月前
|
SQL 关系型数据库 MySQL
mysql数据增删改
mysql数据增删改
|
6月前
|
SQL 关系型数据库 MySQL
mysql 库、表增删改
mysql 库、表增删改
|
6月前
|
关系型数据库 MySQL 数据处理
Mysql基础第十四天,使用数据处理函数
Mysql基础第十四天,使用数据处理函数
74 0