MySql 8.0使用mysql二
程序员文章站
2024-02-25 21:18:09
...
插入、更新删除行
插入
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;