首页 > 数据库 >mysql常用脚本

mysql常用脚本

时间:2024-06-04 18:34:50浏览次数:34  
标签:脚本 常用 upload FileName FileSize file mysql HAVING SELECT

1.添加一列默认值0

ALTER TABLE 表名 ADD Sort int(11) DEFAULT 0 NULL COMMENT '排序';

2.MySql删除重复数据,保留最早创建的

  思路:新建一个临时表temp_ID存储upload_file表里的重复Id,upload_file根据temp_ID里的Id删除重复数据,最后删除临时表temp_ID。

  注:如果新建临时表

-- 手动新建一个含有Id字段的临时表temp_ID,插入数据(因为正式环境执行不了创建并插入所以手动建立了)
INSERT INTO temp_ID (Id)
( SELECT Id
FROM upload_file
WHERE FileCreateTime > '2024-05-01 16:57:26'
AND FileName IN (
SELECT FileName
FROM upload_file
WHERE FileCreateTime > '2024-05-01 16:57:26'
GROUP BY FileName
HAVING COUNT(*) > 1
)
AND FileCreateTime NOT IN (
SELECT MIN(FileCreateTime)
FROM archive_upload_file
WHERE FileCreateTime > '2024-05-01 16:57:26'
GROUP BY FileName
HAVING COUNT(*) > 1
)
);

-- 删除重复数据

DELETE FROM upload_file WHERE Id IN (SELECT Id FROM temp_ID);

-- 删除临时表

DROP TABLE IF EXISTS temp_ID;

3.MySql查找所有重复数据(单字段,显示重复数据的其中一列)

  SELECT * FROM upload_file GROUP BY FileName HAVING COUNT(FileName)>1;

4.MySql查找所有重复的(单字段,显示所有数据)

  SELECT * FROM upload_file WHERE FileName IN

  (SELECT FileName FROM upload_file GROUP BY FileName HAVING COUNT(*) > 1) 

  ORDER BY FileName;

5.MySql查找所有重复的(多字段,显示所有数据)

  SELECT * FROM upload_file WHERE (FileName,FileSize) IN

  (SELECT FileName,FileSize FROM upload_file GROUP BY FileName,FileSize HAVING COUNT(*) > 1) 

  ORDER BY FileName,FileSize;

6.MySql查找所有重复的(多字段,不包括最早创建的一条

  SELECT * FROM upload_file WHERE (FileName,FileSize) IN

  (SELECT FileName,FileSize FROM upload_file GROUP BY FileName,FileSize HAVING COUNT(*) > 1) 

  AND UploadTime NOT IN (SELECT Min(UploadTime) FROM upload_file GROUP BY FileName,FileSize HAVING COUNT(*) > 1)
  ORDER BYFileName,FileSize;

标签:脚本,常用,upload,FileName,FileSize,file,mysql,HAVING,SELECT
From: https://www.cnblogs.com/YourAnnie/p/18231363

相关文章

  • java项目部署脚本
    一、java项目部署脚本示例在Java项目中,部署脚本通常依赖于项目的构建工具(如Maven或Gradle)以及部署环境(如Docker、Tomcat、Kubernetes等)。以下是一个基于Maven和Shell脚本的Java项目部署示例,假设我们正在将应用部署到Linux服务器上的Tomcat容器中。1.前提条件Linux服务器已安......
  • java项目部署脚本
    一、java项目部署脚本示例在Java项目中,部署脚本通常依赖于项目的构建工具(如Maven或Gradle)以及部署环境(如Docker、Tomcat、Kubernetes等)。以下是一个基于Maven和Shell脚本的Java项目部署示例,假设我们正在将应用部署到Linux服务器上的Tomcat容器中。1.前提条件Linux服务器已......
  • MySQL的数据在磁盘上如何存储?
    存储引擎百度百科是这样定义存储引擎的:MySQL中的数据用各种不同的技术存储在文件(或者内存)中,这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎。简单来说就是不同的存储引擎,我们的数据存储的格式也会不一样。就好比图片有不同的格式,比如:.jpg,.png,.gif等等……......
  • MySQL 查找并删除重复行
    本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysqlIRC频道问到的问题)如何查找重复行第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一......
  • spring boot mybatis mysql 对emoji表情的插入与查询支持
    在网上查了很多都是要求在数据层面修改比如userName字段的值有可能存emoji表情那就把字段改成字符集 utf8mb4我的排序规则是utf8mb4_unicode_ci,如果单个字段不行就整个表varchar字段都改成这样的到了这部,使用mysql客户端对这个字段增删改查是没问题的但是很少有人提到myb......
  • 【ubuntu使用记录】—— 如何使用vim编译器如何写入保存文件和linux常用的操作指令记
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言vim编译器的使用1.写入的操作2.保存的操作常用的系统操作指令1.查看系统配置2.查看库的版本3.基本操作指令4.解压和压缩相关指令(1)安装rar和unrar工具(2)使用前言在Ubuntu中,使用......
  • MySQL数据库:Lock wait timeout exceeded; try restarting transaction问题解析及解决方
    MySQL数据库:Lockwaittimeoutexceeded;tryrestartingtransaction问题解析及解决方案一、背景描述二、原因分析三、解决方案3.1方案一事务信息查询3.2方案二如果杀掉线程依然不能解决,可以查找执行线程耗时比较久的任务,kill掉3.3方案三innodb_lock_wait_timeout锁定等......
  • 初识bat脚本
    什么是bat脚本文件后缀名为.bat或者.cmd。bat脚本,也称为批处理脚本,顾名思义,批处理就是对某对象进行批量的处理。通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统。类似于Unix中的Shell脚本。目前Windows中的批处理包含两类:WindowsDOS(BAT)和PowerShellDOS......
  • MySQL数据库的安装
    MySQL数据库的安装【一】各种数据库的端口MySQL:3306Redis:6379MongoDB:27017Django:8000flask:5000【二】MySQL介绍MySQL是一个开源免费的关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下公司。MySQL最流行的关系型数据库管理系统,在WEB......
  • 配置Mysql允许远程连接
    目录1.开通其他主机使用root登录的权限2.在安装mysql的本机上添加防火墙允许规则,允许33063.补充1.开通其他主机使用root登录的权限在搜索里搜索msyql进入命令行,输入密码;usermysql showtables;显示所有数据库,我们可以看到有一个名为user的表。selectHost,Use......