为了减少数据库连接的I/O开销,一般会把多条数据插入放在一条sql语句中一次执行。 以前用MysqL做开发一直是这样用的: INSERT INTO TABLE(col1,col2) VALUES(val11,val12),(val21,val22) ; 最近用sqlite才发现这个语法并非标准sql,故而sqlite并不支持。经过一番查找,发现如下方法可以替代: INSERT INTO TABLE(col1,col2) SELECT val11,val12 UNION ALL SELECT val21,val22 ; 这样的写法是属于复合sql语句,表示先把两个SELECT的结果集进行无删减的联合,再把联合结果插入到TABLE中。