欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySql 8.0使用mysql二

程序员文章站 2024-02-25 21:18:09
...

插入、更新删除行

在完成 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');

MySql 8.0使用mysql二
或者明确的指出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;

MySql 8.0使用mysql二

更新:

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

MySql 8.0使用mysql二

删除:

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

MySql 8.0使用mysql二
where 子句是强制性的,如果没有给出它,将会删除表中所有行,
建议在事务中删除数据,发现错误可以轻松的改回来。

repalce

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

MySql 8.0使用mysql二
行数据已经存在,会删除原来的数据,再插入新数据,执行成功显示 2 rows affected.

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

MySql 8.0使用mysql二
如果没有数据,则等同与插入新数据,执行成功显示
1 row affected.

ON DUPLICATE UPDATE

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

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

MySql 8.0使用mysql二

TRUNCATING TABlE

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

TRUNCATE TABLE customers;