zoukankan      html  css  js  c++  java
  • mysql-13处理重复数据

    1.防止表中出现重复数据

    在mysql数据表中设置指定的字段为主键或唯一索引来保证数据的唯一行。

    -- 方法1:指定主键
    create `table person_tbl`(
        `first_name` char(20) not null,
        `last_name` char(20) not null,
        `set` char(10),
        primary key (last_name, first_name));
    
    -- 方法2:设置唯一索引
    create table `person_tbl`(
        `first_name` char(20) not null,
        `last_name` char(20) not null,
        `sex` char(10),
        unique(last_name, first_name));
    
    -- insert ignore into:插入重复数据,就不执行;否则就插入新的数据。
    insert ignore into person_tbl (last_name, first_name)
         values ( 'Jay', 'Thomas');
    

    2.统计重复数据

    统计表中first_name和last_name的重复记录数

    -- 根据last_name,first_name分组列出每组的数量、列,限定条件重复数>1
    select count(*) as repetitions, last_name, first_name from person_tbl 
        group by last_name,first_name having repetitions > 1;
    

    3.过滤重复数据

    使用distinct关键字即可

    select distinct last_name, first_name from person_tbl;
    

    4.删除重复数据

    create table `tmp` select * from person_tbl group by last_name, first_name;
    

    没有执行成功,提示有重复数据。ignore貌似没有生效
    mysql> ALTER IGNORE TABLE person_tbl ADD PRIMARY KEY (last_name, first_name);

  • 相关阅读:
    ASP.NET WEB API构建基于REST风格
    .net平台下深拷贝和浅拷贝
    Visual Studio 必备神器
    sql注入
    proxy
    职场人生
    JSch
    何时用继承,何时用组合
    视频码率,帧率和分辨率的联系与差别
    超过响应缓冲区限制
  • 原文地址:https://www.cnblogs.com/csj2018/p/9966410.html
Copyright © 2011-2022 走看看