MySQL初始4--去重

更新表中的字段:

update 表名 set 字段=新值,… where 条件;

UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。如果指定了ORDER BY子句,则按照被指定的顺序对行进行更新;LIMIT子句用于给定一个限值,限制可以被更新的行的数目。

 

查看所创建表的创建命令:show create table table——name; 可以查看表table_name的创建命令

 

复制表:

方法1.a.创建表结构:create table tmp

b.将目标表的所有内容插入到tmp 中:insert into tmp select  * from companiesList;

方法2:直接用as 创建:create table tmp as(select * from companiesList);

 

 

mysql表去重:

思路1):直接删除:

delete from tmp
-> where companyName in (select companyName from companiesList group by companyName having count(companyName) > 1)
-> and companyId not in (select min(companyId) from companiesList group by companyName having count(companyName) >1);

这两处的表名称不一样是因为,没办法在同一张表下进行删除操作,所以要引入另外的表

 

思路2):插入新表:

1.创建临时表,将所有重复的字段放入临时表中:create table tmp as(select * from table group by companyName having count(companyName)>1)

2.去除原表中所有重复的字段:delete table from tm,table where tmp.companyName = table.companyName;

3.将零食表中的内容导入到原表中:Insert into table select * from tmp;

 

思路3):distinct命令:SELECT DISTINCT字段名FROM表名 

查看重复项:select companyName,count(*)as count from tmp group by companyName having count>1;

 

mysql中重复项修改(复杂方法):

1.查找出重复项:

select * from tbArticle
where sn in (select sn from tbArticle group by title having count(title) > 1);

 

2.将所有的重复项复制到TXT文件中 a.txt

3.用excel表格打开a.txt文件

4.将表格中所需要的字段挑选出来

5.批量组织所需要更新的状态语句

6.将数据库进行更新

7.再一次进行状态更新

8.检查重复项

 

posted @ 2016-06-22 15:46  满月青灰  阅读(285)  评论(0编辑  收藏  举报