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.检查重复项

  • 相关阅读:
    asp.net连接SQL server,SQLLite,Oracle,Access数据库
    c#中RadioButtonList选中后不整体刷新页面保持选中状态
    c#中onclick事件请求的两种区别
    java中从实体类中取值会忽略的的问题
    Groovy自定义函数实现时间表达式解析
    广度优先搜索、狄克丝特拉算法
    创建型模式
    数组、链表、散列表、图、树、队列、栈
    nginx.conf
    Nginx笔记一
  • 原文地址:https://www.cnblogs.com/wangzhao2016/p/5607384.html
Copyright © 2011-2022 走看看