MySql 8.0使用mysql二

本文详细介绍了在MySql8.0环境下如何进行数据的插入、更新、删除及替换操作,包括使用IGNORE防止错误、利用ON DUPLICATE KEY UPDATE处理重复键、TRUNCATE TABLE快速清空表数据等内容。

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

插入、更新删除行

在完成 MySql 8.0使用mysql 一的前提下

插入

insert ignore into `company`.`customers`(first_name,last_name,country)
values
('Mike','Christensen','USA'),
('Andy','Hollands','Australia'),
('RAVi','Vedantam','India'),
('Rajiv','Perera','Sri Lanka');

在这里插入图片描述
或者明确的指出id.

insert ignore into `company`.`customers`(first_name,last_name,country)
values
(1,'Mike','Christensen','USA'),
(2,'Andy','Hollands','Australia'),
(3,'RAVi','Vedantam','India'),
(4,'Rajiv','Perera','Sri Lanka');

IGnore : 如果该行已经存在,并给出了ignore 子句,则新据将会被忽略,insert 语句仍然会执行成功,同时生成一个警告信息和重复的数目。反之如果未给出ignore 则会生成一个错误信息,行的唯一性主键标识。

show warnings;

在这里插入图片描述

更新:

update customers set first_name ='Rajiv', country='UK' 
where id=4;

在这里插入图片描述

删除:

Delete From customers where id = 4 and first_name='Rajiv';

在这里插入图片描述
where 子句是强制性的,如果没有给出它,将会删除表中所有行,
建议在事务中删除数据,发现错误可以轻松的改回来。

repalce

replace into customers values (1,'Mike','Chirstensen','America');

在这里插入图片描述
行数据已经存在,会删除原来的数据,再插入新数据,执行成功显示 2 rows affected.

replace into customers values (17,'Mike','Chirstensen','America');

在这里插入图片描述
如果没有数据,则等同与插入新数据,执行成功显示
1 row affected.

ON DUPLICATE UPDATE

当Mike Christensen 下次支付300 美元时,将更新该行并将付款金额添加到以前的金额中去。

insert into payments values('Mike Christensen',300) 
on DUPLICATE KEY UPDATE 
payment = payment + Values(payment);

在这里插入图片描述

TRUNCATING TABlE

删除整个表的数据,保留表结构的快速操作。

TRUNCATE TABLE customers;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值