mysql数据库去重复数据的方法:

方法一:防止表中出现重复数据

当表中未添加数据时,可以在MySQL数据表中设置指定的字段为PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。

例如在学生信息表中学号no不允许重复,需设置学号no为主键,且默认值不能为NULL。CREATE TABLE student

(

no CHAR(12) NOT NULL,

name CHAR(20),

sex CHAR(10),

PRIMARY KEY (no)

);

方法二:过滤删除重复值

对于数据表中原有的数据,想要去除重复数据需要经过重复数据查找、过滤以及删除等步骤。

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);更多免费相关学习推荐:mysql数据库

Mysql数据库查询去除重复_mysql数据库如何去重复数据相关推荐

  1. mysql获取查询策略语句_MySQL数据库查询性能优化策略

    优化查询 使用Explain语句分析查询语句 Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句. 通过对查询语句的分析,可以了解查询语句的执行 ...

  2. mysql集合查询的命令_MySQL数据库常用命令集合

    1.设置root密码 方法1: 用SET PASSWORD命令 mysql -u root SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpas ...

  3. mysql数据库查询关键字级别_MySQL数据库之单表查询中关键字的执行顺序

    MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...

  4. mysql迭代查询并分页_mysql 数据库 分页查询优化

    举个栗子: 表名:batch_big_num 列名:id(主键),name,age,product_name,product_num 1,利用索引 (1)加一个order by+索引列   可以提升一 ...

  5. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06

    Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...

  6. mysql数据库缓存为多久_mysql数据库查询缓存总结

    概述 查询缓存(Query Cache,简称QC),存储SELECT语句及其产生的数据结果.闲来无事,做一下这块的总结,也做个备忘! 工作原理 查询缓存工作原理如下: 缓存SELECT操作的结果集和S ...

  7. mysql的查询排序规则_mysql 如何查看数据库字符集和排序规则

    查看数据库编码 (即字符集) show create database 数据库名; 查看数据表编码 (即字符集) show create table user 查看数据表全部字段排序规则 (即utf8 ...

  8. mysql存储过程查询所有表_mysql存储过程利用游标查询每个数据库的所有表

    DELIMITER $ DROP PROCEDURE listAllDB; CREATE PROCEDURE listAllDB() BEGIN DECLARE no_more_record INT ...

  9. mysql部门人员排序设计_MySQL数据库访问性能优化

    MYSQL应该是最流行的WEB后端数据库.大量应用于PHP,Ruby,Python,Java 等Web语言开发项目中,无论NOSQL发展多么快,都不影响大部分架构师选择MYSQL作为数据存储. MYS ...

最新文章

  1. HDU1102(Prim算法)
  2. 使用Vim+Ctags+Cscope阅读源代码
  3. Kubernetes — Kubespray 开箱即用的部署工具
  4. java 新浪天气预报接口_根据新浪天气API获取各地天气状况(Java实现)
  5. All Things OpenTSDB
  6. 我认真写下9段如翔一般的代码,只为等你来品鉴
  7. mysql+秘密_mysql不被人知的秘密
  8. arithmetic java_Java:Arithmetic
  9. 批量生成6位数字_太准了,你是Excel高手or小白看这6个操作就知道了
  10. 最新“母马”病毒反杀主流杀毒软件
  11. SpringSecurity半成品笔记
  12. win98老机子安装linux,在win98下怎么安装linux?
  13. 高级操作系统——XV6进程管理
  14. 计算机后端维护,机房智能交通后台系统运行维护内容.doc
  15. 《墨宝非宝经典作品合集(套装共10册)》墨宝非宝(作者)epub+mobi+azw3格式下载...
  16. ie11兼容性视图设置_OA办公系统在最新IE11下不能使用解决方法
  17. matlab土方计算,土方量计算的MATLAB工具箱研制
  18. Linux更改文件权限(一)
  19. LeetCode每日一题:744. 寻找比目标字母大的最小字母
  20. 【学习经典】时间序列处理(DatetimeIndex)

热门文章

  1. OracleERP表结构--PO模块(1)
  2. windows更改密码脚本_如何更改您的Windows密码
  3. 机器学习理论基础---1
  4. matlab 求曲面体积,matlab求两曲面之间的体积
  5. 如何成为一位数据科学家
  6. layui使用label标签
  7. 【linux】posix是什么都不知道,还好意思说你懂Linux?
  8. Android开发中三星手机拍照异常处理
  9. 公司固定资产该哪个部门管理,一般公司固定资产怎么管理
  10. android 主流屏幕比例,Android 主流屏幕以及适配