本文介绍如何使用REPLACE INTO
语句。
语法
REPLACE INTO
用于实时覆盖写入数据。写入数据时,会先根据主键判断待写入的数据是否已经存在于表中,并根据判断结果选择不同的方式写入数据:
如果待写入数据已经存在,则先删除该行数据,然后插入新的数据。
如果待写入数据不存在,则直接插入新数据。
说明
本文所指的主键既包括单个列的主键,也包括由多列组成的复合主键(Composite Primary Key)。
语法如下:
REPLACE INTO table_name [(column_name,...)] VALUES ({常量|NULL|DEFAULT},...),(...),...
示例
通过
REPLACE INTO
向CUSTOMER表中插入一条数据。REPLACE INTO customer(customer_id,customer_name,phone_num,city_name,sex,id_number,home_address,office_address,age,login_time) values (002367,'Bob','13900001234','Hangzhou',0,'987300','WestLake','CloudTown',23,'2018-03-02 10:00:00');
向CUSTOMER表中插入多条数据时,可以省略列名。
REPLACE INTO customer values (002367,'John','13900001111','Hangzhou',0,'987300','WestLake','CloudTown',23,'2018-03-02 10:00:00'),(002368,'Adam','13900002222','Hangzhou',0,'987300','WestLake','CloudTown',28,'2018-08-01 11:00:00'),(002369,'Brook','13900003333','Hangzhou',1,'987300','WestLake','CloudTown',35,'2018-09-12 08:11:00');