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

本文详细介绍了MySQL中数据的插入、修改及删除操作。包括不同情况下使用VALUES插入数据的方法,通过查询结果插入数据的方式,以及如何使用UPDATE语句来修改表中的数据。此外,还讲解了DELETE语句的应用场景及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

写在前面: 跟随B站的康师傅学习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;

爱在结尾:自己学习到:1、插入数据的几种方式 ; 2、插入(insert into 表名)、删除(delete from 表名)、修改(update 表名) ; 3、修改、删除表时,由于表之间的数据完整性(存在约束),可能会导致执行语句的失败。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一棵卷心菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值