zoukankan      html  css  js  c++  java
  • 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.检查重复项

  • 相关阅读:
    7月30日 举办专注于微服务的.NET Conf Focus
    我和ABP vNext 的故事
    Windows环境搞好的Dockerfile文件 在Linux上报错了
    [LeetCode] 955. Delete Columns to Make Sorted II 删除列使其有序之二
    [LeetCode] 954. Array of Doubled Pairs 两倍数对儿数组
    上周热点回顾(8.3-8.9)团队
    发布新版首页“外婆新家”升级版:全新的UI,熟悉的味道团队
    上周热点回顾(7.27-8.2)团队
    终于换新颜:新版网站首页发布上线团队
    上周热点回顾(7.20-7.26)团队
  • 原文地址:https://www.cnblogs.com/wangzhao2016/p/5607384.html
Copyright © 2011-2022 走看看