sql >> データベース >  >> RDS >> Mysql

MySQLテーブルの重複を削除する方法

    多くの方法がローマにつながります。これは1つです。とても速いです。したがって、大きなデータベースで使用できます。数字を忘れないでください。秘訣は、phoneNoを一意にし、「無視」を使用することです。

    drop table if exists bkPhone_template;
    create table bkPhone_template (
             phoneNo varchar(20),
             firstName varchar(20),
             lastName varchar(20)
     );
    
    insert into bkPhone_template values('0783313780','Brady','Kelly');
     insert into bkPhone_template values('0845319792','Mark','Smith');
     insert into bkPhone_template values('0834976958','Bill','Jones');
     insert into bkPhone_template values('0845319792','Mark','Smith');
     insert into bkPhone_template values('0828329792','Mickey','Mouse');
     insert into bkPhone_template values('0834976958','Bill','Jones');
    
    drop table if exists bkPhone;
    create table bkPhone like bkPhone_template;
    alter table bkPhone add unique (phoneNo);
    
    insert  ignore into bkPhone (phoneNo,firstName,lastName) select phoneNo,firstName,lastName from bkPhone_template;
    
    drop table bkPhone_template;
    

    データテーブルがすでに存在する場合は、次の挿入無視選択を使用してテーブル作成選択を実行するだけで済みます。最後に、テーブルの名前変更ステートメントを実行する必要があります。それだけです。

    この回避策は、削除操作よりもはるかに高速です。



    1. SQL Serverで小文字を大文字に変換する方法– UPPER()

    2. xマイル半径内の他の行のmySQL経度および緯度クエリ

    3. Microsoftによるデータベースの命名規則?

    4. SELECTステートメントでBOOLEAN型を使用する方法