方式1: INSERT INTO t1(field1,field2) VALUE(‘001‘,‘002‘);
最好的做法明确插入的每一列,列于查错,而且漏列的几率会降低!
方式2: INSERT INTO t1 (field1,field2) values (‘001‘,‘002‘),(‘003‘,‘004‘)......;
能够批量插入数据最好批量插入,但是数据过于庞大时,最好分批次批量插入!
方式3: INSERT INTO t2 (field1,field2) SELECT col1,col2 FROM t1 WHERE ……;
这里简单说一下,由于可以指定插入到talbe2中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活一些,但我们也必须注意,我们在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入,还有一点比较容易出错的地方就是,当我们写成如下方式3的变形简写格式:
方式3的变形: INSERT INTO t2 SELECT id, name, address FROM t1
此时,我们如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且SELECT后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。