MySQL是世界上最流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),提供了很多簡便的方式來操作數(shù)據(jù)。在實際應(yīng)用中,經(jīng)常需要合并兩個擁有同樣結(jié)構(gòu)的表。下面我們就來討論一下如何使用MySQL來實現(xiàn)這個功能。
下面我們以兩個人員信息表為例,兩個表結(jié)構(gòu)完全一致:
CREATE TABLE `table1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB; CREATE TABLE `table2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
如果需要將這兩個表合并,可以使用MySQL的INSERT INTO語句結(jié)合SELECT子句來完成。以下是具體的語句:
INSERT INTO table1 SELECT * FROM table2;
執(zhí)行完上述語句后,table2表中的數(shù)據(jù)將被復(fù)制到table1表中,這兩個表的結(jié)構(gòu)必須完全一致。
值得注意的是,如果兩個表中有相同的主鍵,則在INSERT INTO語句中需要設(shè)置ON DUPLICATE KEY UPDATE,否則會報主鍵沖突的錯誤。
INSERT INTO table1 SELECT * FROM table2 ON DUPLICATE KEY UPDATE name=values(name),age=values(age);
以上就是使用MySQL同結(jié)構(gòu)兩個表合并的方法,希望對大家有所幫助。