我们经常需要将一张表的数据插入到另一张表中,有时需要指定导入字段,只需要导入目标表中不存在的记录即可。虽然在程序中可以将这些拆分成简单的sql,但是使用一个sql会节省很多代码。下面以mysql数据库为例,一一说明情况:1、如果两张表的字段一致,想插入所有的数据,可以使用这种方法:INSERTINTOtargettableSELECT*FROM源表;插入insertTestselect*frominsertTest2;2、如果只想导入指定字段,可以使用这种方法:INSERTINTOtargettable(field1,field2,...)SELECTfield1,field2,...FROMsourcetable;(这里的字段必须一致)insertintoinsertTest2(id)selectidfrominsertTest2;3、如果只需要导入目标表中不存在的记录,可以使用这种方法:复制代码INSERTINTOtargettable(field1,field2,...)SELECTfield1,field2,...FROMsourcetableWHEREnotexists(select*fromtargettablewheretargettable.Comparisonfield=sourcetable.Comparisonfield);复制代码1>。插入多条记录:复制代码insertintoinsertTest2(id,name)selectid,namefrominsertTestwherenotexists(select*frominsertTest2whereinsertTest2.id=insertTest.id);复制代码2>。插入一条记录:复制代码insertintoinsertTest(id,name)SELECT100,'liudehua'FROMdualWHEREnotexists(select*frominsertTestwhereinsertTest.id=100);复制代码SELECTt.NAME,(CASEt.sexWHEN1THEN'male'WHEN2THEN'女'ELSE'未知'END)GenderFROM作者:rocling来源:CSDN原文:https://blog.csdn.net/rocling...版权声明:本文为博主原创文章,转载请附上博文转载链接!
