ホームページ >データベース >mysql チュートリアル >mysqlデータベース内の重複レコードを削除するにはどうすればよいですか?
Mysql でデータベース内の重複レコードを削除する手順: 最初に重複データをカウントし、次に「SELECT DISTINCT」ステートメントを使用して重複データをフィルタリングし、最後に INDEX と PRIMAY KEY をデータ テーブルに追加して、データベース内の重複レコードを削除します。テーブル 。
通常の MySQL データ テーブルの場合、重複データが存在する可能性があります。重複データが許可される場合もあれば、許可されない場合もあります。これらの重複データを見つけて削除する必要がありますが、具体的な処理方法は次のとおりです。
関連する学習の推奨事項: mysql チュートリアル (ビデオ)
方法 1: 重複データがテーブルに表示されないようにする
テーブルにデータが追加されていない場合は、MySQL データ テーブルの指定されたフィールドを PRIMARY KEY (主キー) または UNIQUE (***) インデックスとして設定して、データの整合性。
たとえば、学生情報テーブルで学生番号 no を繰り返すことはできません。学生番号 no を主キーとして設定する必要があり、デフォルト値を NULL にすることはできません。
CREATE TABLE student ( no CHAR(12) NOT NULL, name CHAR(20), sex CHAR(10), PRIMARY KEY (no) );
方法 2: 重複値をフィルターして削除する
データ テーブル内の元のデータについて、重複データを削除する場合は、重複データの検索、フィルタリング、削除の手順を実行する必要があります。
1. 重複データの数
mysql> SELECT COUNT(*) as repetitions,no -> FROM student -> GROUP BY no -> HAVING repetitions > 1;
上記のクエリ ステートメントは、student テーブル内の重複レコードの数を返します。
2. 重複データのフィルタリング
重複しないデータを読み取る必要がある場合は、SELECT ステートメントで DISTINCT キーワードを使用して重複データをフィルタリングできます。
mysql> SELECT DISTINCT no -> FROM student;
GROUP BY を使用して、データ テーブル内の重複しないデータを読み取ることもできます
mysql> SELECT no -> FROM student -> GROUP BY (no);
3. 重複データの削除
データを削除しますデータ テーブル内 重複データの場合は、次の SQL ステートメントを使用できます。
mysql> CREATE TABLE tmp SELECT no, name, sex FROM student GROUP BY (no, sex); mysql> DROP TABLE student; mysql> ALTER TABLE tmp RENAME TO student;
データ テーブルに INDEX (インデックス) と PRIMAY KEY (主キー) を追加して、テーブル内の重複レコードを削除することもできます。方法は次のとおりです。
mysql> ALTER IGNORE TABLE student -> ADD PRIMARY KEY (no);
この記事は php中文网 mysql グラフィック チュートリアル チャネルからのものです。学習へようこそ!
以上がmysqlデータベース内の重複レコードを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。