mysql,删除某个字段重复的数据,insert into,sql语句

1507794783577334.jpg 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后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意

王加文博客
请先登录后发表评论
  • latest comments
  • 总共0条评论