Mysql数据库查询去除重复_mysql数据库如何去重复数据
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数据库如何去重复数据相关推荐
- mysql获取查询策略语句_MySQL数据库查询性能优化策略
优化查询 使用Explain语句分析查询语句 Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句. 通过对查询语句的分析,可以了解查询语句的执行 ...
- mysql集合查询的命令_MySQL数据库常用命令集合
1.设置root密码 方法1: 用SET PASSWORD命令 mysql -u root SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpas ...
- mysql数据库查询关键字级别_MySQL数据库之单表查询中关键字的执行顺序
MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...
- mysql迭代查询并分页_mysql 数据库 分页查询优化
举个栗子: 表名:batch_big_num 列名:id(主键),name,age,product_name,product_num 1,利用索引 (1)加一个order by+索引列 可以提升一 ...
- linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06
Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...
- mysql数据库缓存为多久_mysql数据库查询缓存总结
概述 查询缓存(Query Cache,简称QC),存储SELECT语句及其产生的数据结果.闲来无事,做一下这块的总结,也做个备忘! 工作原理 查询缓存工作原理如下: 缓存SELECT操作的结果集和S ...
- mysql的查询排序规则_mysql 如何查看数据库字符集和排序规则
查看数据库编码 (即字符集) show create database 数据库名; 查看数据表编码 (即字符集) show create table user 查看数据表全部字段排序规则 (即utf8 ...
- mysql存储过程查询所有表_mysql存储过程利用游标查询每个数据库的所有表
DELIMITER $ DROP PROCEDURE listAllDB; CREATE PROCEDURE listAllDB() BEGIN DECLARE no_more_record INT ...
- mysql部门人员排序设计_MySQL数据库访问性能优化
MYSQL应该是最流行的WEB后端数据库.大量应用于PHP,Ruby,Python,Java 等Web语言开发项目中,无论NOSQL发展多么快,都不影响大部分架构师选择MYSQL作为数据存储. MYS ...
最新文章
- HDU1102(Prim算法)
- 使用Vim+Ctags+Cscope阅读源代码
- Kubernetes — Kubespray 开箱即用的部署工具
- java 新浪天气预报接口_根据新浪天气API获取各地天气状况(Java实现)
- All Things OpenTSDB
- 我认真写下9段如翔一般的代码,只为等你来品鉴
- mysql+秘密_mysql不被人知的秘密
- arithmetic java_Java:Arithmetic
- 批量生成6位数字_太准了,你是Excel高手or小白看这6个操作就知道了
- 最新“母马”病毒反杀主流杀毒软件
- SpringSecurity半成品笔记
- win98老机子安装linux,在win98下怎么安装linux?
- 高级操作系统——XV6进程管理
- 计算机后端维护,机房智能交通后台系统运行维护内容.doc
- 《墨宝非宝经典作品合集(套装共10册)》墨宝非宝(作者)epub+mobi+azw3格式下载...
- ie11兼容性视图设置_OA办公系统在最新IE11下不能使用解决方法
- matlab土方计算,土方量计算的MATLAB工具箱研制
- Linux更改文件权限(一)
- LeetCode每日一题:744. 寻找比目标字母大的最小字母
- 【学习经典】时间序列处理(DatetimeIndex)