mysql中删除重复记录sql语句
在sql中我们经常会碰到有重复的一些数据,下面我来介绍在mysql中删除重复记录的多种方法,有需要的朋友可参考参考。
删除重复记录方法一:
1. 新建一个临时表
代码如下 | 复制代码 |
create table tmp as select * from youtable group by name(name为不希望有重复的列) |
2. 删除原来的表
代码如下 | 复制代码 |
drop table youtable |
3. 重命名表
代码如下 | 复制代码 |
alter table tmp rename youtable |
但是这个方法有个问题,由临时表转变过来的最终表,其表结构会和原来的不一致,需要手工更改。这个问题,待解决。
删除重复记录方法二:
1. 新建一个临时表
代码如下 | 复制代码 |
CREATE TABLE tmp AS SELECT * FROM youtable GROUP BY name(name为不希望有重复的列) |
2. 清空原来的表
代码如下 | 复制代码 |
TRUNCATE TABLE youtable |
3. 把临时表插入到youtable
代码如下 | 复制代码 |
INSERT INTO tablename SELECT * FROM temp |
4. 删除临时表
代码如下 | 复制代码 |
DROP TABLE temp |
删除重复记录方法三:
代码如下 | 复制代码 |
delete table where ID not in(select min(ID) from table group by name(name:重复的字段)) |
删除重复记录方法四:
具体实现如下:
代码如下 | 复制代码 |
Table Create Table users_groups.txt内容: 1,11,502 mysql> load data infile 'c:\users_groups.txt' into table users_groups fields mysql> select * from users_groups; query result(14 records) id uid gid |
根据一位兄弟的建议修改。
代码如下 | 复制代码 |
mysql> create temporary table tmp_wrap select * from users_groups group by uid having count(1) >= 1; mysql> truncate table users_groups; mysql> insert into users_groups select * from tmp_wrap; mysql> select * from users_groups; query result(7 records)
|
2、还有一个很精简的办法。
查找重复的,并且除掉最小的那个。
代码如下 | 复制代码 |
delete users_groups as a from users_groups as a, |
3、现在来看一下这两个办法的效率。
运行一下以下SQL 语句
代码如下 | 复制代码 |
create index f_uid on users_groups(uid); |
很明显的第二个比第一个扫描的函数要少。
当没有创建表或创建索引权限的时候
创建一个新表,然后将原表中不重复的数据插入新表:
代码如下 | 复制代码 |
mysql> create table demo_new as select * from demo group by site; |
然后将原表备份,将新表重命名为当前表:
代码如下 | 复制代码 |
mysql> rename table demo to demo_old, demo_new to demo; |

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

完全なテーブルスキャンは、MySQLでインデックスを使用するよりも速い場合があります。特定のケースには以下が含まれます。1)データボリュームは小さい。 2)クエリが大量のデータを返すとき。 3)インデックス列が高度に選択的でない場合。 4)複雑なクエリの場合。クエリプランを分析し、インデックスを最適化し、オーバーインデックスを回避し、テーブルを定期的にメンテナンスすることにより、実際のアプリケーションで最良の選択をすることができます。

はい、MySQLはWindows 7にインストールできます。MicrosoftはWindows 7のサポートを停止しましたが、MySQLは引き続き互換性があります。ただし、インストールプロセス中に次のポイントに注意する必要があります。WindowsのMySQLインストーラーをダウンロードしてください。 MySQL(コミュニティまたはエンタープライズ)の適切なバージョンを選択します。インストールプロセス中に適切なインストールディレクトリと文字セットを選択します。ルートユーザーパスワードを設定し、適切に保ちます。テストのためにデータベースに接続します。 Windows 7の互換性とセキュリティの問題に注意してください。サポートされているオペレーティングシステムにアップグレードすることをお勧めします。

クラスター化されたインデックスと非クラスター化されたインデックスの違いは次のとおりです。1。クラスター化されたインデックスは、インデックス構造にデータを保存します。これは、プライマリキーと範囲でクエリするのに適しています。 2.非クラスター化されたインデックスストアは、インデックスキー値とデータの行へのポインターであり、非プリマリーキー列クエリに適しています。

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。
