一、建立测试环境
1.1. 建立表格
CREATE TABLE books (
book_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50),
pub_year VARCHAR(4),
author VARCHAR(50)
);
1.2. 建立测试数据文件,books.txt,其内容如下
1,王国维词新释辑评,2006,叶嘉莹
2,王国维词新释辑评,2006,叶嘉莹
3,王国维词新释辑评,2006,叶嘉莹
4,南唐二主词新释辑评,2003,杨敏如
5,南唐二主词新释辑评,2003,杨敏如
6,朱自清说诗,1998,朱自清
1.3. 装入数据
LOAD DATA INFILE 'c:/books.txt' INTO TABLE books FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
1.4. 查询结果
二、查询重复(只有重复)的记录
2.1 方法一
mysql> SELECT m.*
FROM books m ,
(SELECT MIN(book_id) book_id
FROM books
GROUP BY title
HAVING count(1) > 1)n
WHERE m.book_id = n.book_id
三、删除重复的记录
3.1 方法一
DELETE books as m FROM books m ,
(SELECT title,MIN(book_id) book_id
FROM books
GROUP BY title
HAVING count(1) > 1)n
WHERE m.book_id > n.book_id and m.title = n.title
3.2 方法二
-- 创建数据未重复的临时表
CREATE TEMPORARY TABLE tmp_books select * from books group by title having count(1) >= 1;
-- 清除原有的数据资料
TRUNCATE TABLE books;
-- 将临时表的数据插入正式表中
INSERT INTO books SELECT * FROM tmp_books;
-- 删除临时表
DROP TABLE tmp_books
- 大小: 6.2 KB
- 大小: 2.5 KB
分享到:
相关推荐
这个驱动包使得Java应用程序能够与MySQL数据库进行无缝通信,执行SQL查询,处理结果集,以及进行各种数据库管理任务。 **MySQL Connector/J 5.1.30详解:** 1. **简介**: MySQL Connector/J是MySQL的JDBC(Java ...
1. **UDF(User Defined Function)**:MySQL UDF 允许开发者用 C/C++ 编写函数,然后在 SQL 查询语句中调用这些函数,以满足特定的数据处理需求。这极大地提高了 MySQL 的灵活性和功能性。 2. **HTTP 请求**:HTTP...
它支持SQL语法高亮、自动完成和查询历史记录,有助于提高开发效率。此外,还可以创建和保存查询,方便日后重复使用。 3. **MySQL Workbench**:虽然在5.0_r12版本中可能还未完全集成,但MySQL Workbench后来成为了...
MySQL支持事务处理,如BEGIN、COMMIT和ROLLBACK命令用于开始、提交和回滚事务。 主键是表中的一个或一组字段,其值唯一标识一条记录;外键则引用另一个表的主键,用于建立表与表之间的关联。主键不允许重复且不能为...
通过这个驱动,你可以执行SQL查询、事务处理、游标操作等,还能利用Python的面向对象特性来操作数据库表和记录。 在Python中安装mysql-connector-python可以通过pip命令进行: ```bash pip install mysql-...
MySqlCommand的Prepare方法可将SQL语句预先编译,多次执行时无需重复解析。 8. **连接池**:MySQL Connector/NET支持连接池机制,通过复用已建立的连接,减少了创建和销毁连接的开销,提高了系统性能。 9. **异步...
- 面向对象的SQL特性,如Oracle的PL/SQL或MySQL的存储过程 通过这个课程,读者将不仅学会SQL的基础语法,还能掌握处理复杂查询、优化数据库性能以及设计高效数据库结构的技能。实践是学习SQL的关键,这本书通过...
在IT行业中,SQL(Structured Query Language)是一种标准的语言,用于管理和处理关系数据库系统。SQL学习是数据科学、数据库管理、数据分析等领域不可或缺的基础技能。"sql学习-sql练习-SQL必知必会"这个主题涵盖了...
3. **性能优化**:MySQL 5.0.18在查询优化器、索引处理和内存管理等方面进行了优化,提升了查询速度和整体性能。例如,改进了查询缓存机制,对于重复的SQL查询,能够更快地返回结果。 4. **复制功能增强**:MySQL的...
本文将详细介绍如何在不同的数据库系统(如MySQL、SQL Server、Oracle等)中删除重复记录。 #### SQL删除重复记录的基本思路 删除重复记录的核心思想是先识别出哪些记录是重复的,然后通过某种方式将这些重复记录...
MySQL作为最受欢迎的关系型数据库管理系统之一,提供了多种功能来处理数据,包括如何有效地删除重复记录。本文将深入探讨MySQL中删除重复记录的方法,以及如何利用其特性来优化数据管理流程。 ### MySQL删除重复...
mysql彻底理解删除重复记录sql脚本,只保留一条记录
以上方法提供了在SQL中处理重复记录的基本思路,实际应用时需根据具体数据库系统(如MySQL、Oracle、SQL Server等)的语法进行适当调整。在处理大量数据时,应谨慎操作,确保数据安全,并考虑使用事务来保证操作的...
sql 查出一张表中重复的所有记录数据 1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2、...
它是标准的语言,适用于大多数数据库管理系统(如MySQL、PostgreSQL、Oracle、SQL Server等)。 2. 数据库基础:在了解SQL之前,我们需要理解数据库的基本概念,如表、字段、记录和键。表是由行和列组成的,每一行...
SQL,全称Structured Query Language,是用于管理...SQL语句的应用非常广泛,从简单的数据查询到复杂的业务逻辑处理,都离不开它的支持。熟练掌握SQL是进行数据库操作和管理的基础,也是数据分析和软件开发的重要技能。
在IT领域,自动化工具的...总之,Ansible结合MySQL SQL脚本,为我们提供了一种高效、可重复的数据库管理方式。通过编写清晰的Playbooks,我们可以轻松地在多台服务器上执行复杂的数据库操作,节省大量手动操作的时间。
由于提供的文件信息中,【描述】部分内容重复,且【部分内容】部分除了提供学习资源的网站信息外,并没有包含实际的教学内容,因此无法根据这部分内容生成具体的知识点。然而,根据【标题】中提供的信息,我们可以...
数据库回放是测试和性能优化中的一种技术,它记录了生产环境中的真实数据库操作,然后在非生产环境中重复这些操作,以评估系统的处理能力、查找性能瓶颈或验证更改的影响。`mysql_replay` 库可以帮助开发者重现这些...
最后,SQL还有多种版本和变体,如MySQL、Oracle、SQL Server和PostgreSQL,它们在语法上略有差异,但基本概念和操作保持一致。 本课件的"sql2课件"可能包含了上述内容的详细讲解,通过学习,你将能够熟练运用SQL...