MySQL中使用replace into語句批量更新表資料
阿新 • • 發佈:2018-11-19
作為示例,我們在這裡使用名為testdb
的資料庫,並且在其中建立兩張一模一樣的表:
drop table if exists test_table_1;
create table test_table_1 (
name varchar(30) primary key,
age integer
);
drop table if exists test_table_2;
create table test_table_2 (
name varchar(30) primary key,
age integer
);
然後我們往兩張表裡面插入一些資料,其中test_table_1
insert into test_table_1 (name, age) values ("劉德華", 57), ("周杰倫", 39), ("周潤發", 61);
但是我們發現除了這三個人以外,我還要新增兩個人,並且周潤發的年齡資訊也填寫錯了,那麼我暫時先把資訊插入到test_table_2
中:
insert into test_table_2 (name, age) values ("陳綺貞", 43), ("范曉萱", 41), ("周潤發", 63);
然後我們嘗試一下,通過以下replace into語句將test_table_2中的資訊更新到test_table_1中:
replace into test_table_1 select * from test_table_2;
通過如下語句檢視test_table_1的結果:
select * from test_table_1;
可以看到結果如下:
name | age |
---|---|
劉德華 | 57 |
周杰倫 | 39 |
周潤發 | 63 |
范曉萱 | 41 |
陳綺貞 | 43 |
我們往test_table_1
中成功新增了兩位女歌手,同時也修改了周潤發的年齡。
可以看到,replace into
insert
操作還是update
操作,是一個非常有用的指令。