1. DELETE FROM tablename where id not in
(select id from (select min(id) as id from tablename group by key) as b );
其中key是重复的字段
2. DELETE FORM tablename where field in (select * from (select field from tablename group by key having count(key)>1) as b)
将重复的值都删除
方式1. INSERT INTO t1(field1,field2) VALUE(v001,v002);
方式2. INSERT INTO t1(field1,field2) VALUES(v101,v102),(v201,v202),(v301,v302),(v401,v402);
注释:在插入批量数据时方式2优于方式1.
**方式3. INSERT INTO t2(field1,field2) SELECT col1,col2 FROM t1 WHERE ……
**
****注释:这里简单说一下,由于可以指定插入到talbe2中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活一些,但我们也必须注意,我们在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入,还有一点比较容易出错的地方就是,当我们写成如下简写格式:
方式3.2、 INSERT INTO t2 SELECT id, name, address FROM t1
******注释:此时,我们如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且SELECT后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。
本文为wjw原创文章,转载无需和我联系,但请注明来自wjw博客http://wjiawen.cn
最新评论