`
javis163
  • 浏览: 45065 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shell操作mysql 将查询结果导出

 
阅读更多

今天有一需求,是将全国每市的参赛人数前5名的学校导出为excel。可能有经验的DBA完全可以用SQL把这需求给done了。可是因为省,市字段的中文名存储在另一个服务器的数据库上,加上也懒得去拼这么复杂的SQL查询。于是,我选择了用文件保存中间结果进行过渡查询的方式。勿吐槽,算是温习下多年的旧知识吧。

 

1.将所有参赛的市导出为文件。

 

用mysql进入mysql数据库,然后执行:

 

select city from works_author group by city into outfile '/home/mysql/city.txt';

 

PS:文件路径因为权限的原因,最好是存放在mysql的安装目录下。

 

2.求出这些城市的前5名学校。

 

方法大致说下,用shell循环city.txt的内容作为sql查询的条件。脚本如下:

 

 

#!/bin/bash

cat /home/mysql/city.txt | while read line

do

    echo $line

    mysql -h你的MYSQLIP -uMYSQL登录名 -pMYSQL密码 数据库名 --default-character-set='utf8' -N -e "select province,city,school,count(school) as count from works_author where city=$line group by school order by count desc limit 5;" >> school.txt;

done

 

 

3.将数据school.txt复制到有城市省份数据库的服务器上

 

在目标服务器上执行:

/usr/bin/scp -r root@远程服务器IP:/home/school.txt /home/

 

4.将文件school.txt导入临时创建的表school_top5中。

load data local infile '/home/school.txt' into table school_top5 fields terminated by '\t';

 

5.连表查询最后将结果导出。

 

分享到:
评论

相关推荐

    shell脚本mysql导出指定表并分表存储

    mysql导出指定表并分表存储sql文件且压缩的shell脚本,数据库数据过大时,可以用于数据库备份

    mysql-shell:mysql-shell-8.4.0-windows-x86-64bit.zip

    5. **数据库管理**:MySQL Shell可以帮助用户执行常见的数据库管理任务,如创建、删除和管理数据库、表,以及导入和导出数据。 6. **性能分析**:内置的性能顾问模块可以分析查询性能,提供改进建议,帮助优化...

    mysql导出查询结果到csv的实现方法

    要将mysql的查询结果导出为csv,一般会使用php连接mysql执行查询,将返回的查询结果使用php生成csv格式再导出。 但这样比较麻烦,需要服务器安装php才可以实现。 直接使用mysql导出csv方法 我们可以使用 into ...

    把mysql查询结果保存到文件的shell脚本

    这篇描述的焦点在于如何通过一个Shell脚本来将MySQL查询结果保存到文件,这在数据备份、分析或迁移时非常实用。 首先,让我们深入理解标题和描述中的关键知识点: 1. **MySQL SELECT INTO OUTFILE**:这是MySQL...

    shell执行mysql脚本

    当我们需要在Linux环境下批量处理数据库操作时,结合使用shell脚本和MySQL可以极大地提高效率。以下将详细介绍如何在shell脚本中执行MySQL脚本并传递参数。 首先,我们需要创建一个shell脚本,通常以`.sh`为扩展名...

    Mysql数据导出成Excel方法

    本文将介绍使用 MySQL 命令和 shell 结合来将数据导出成 Excel 格式的方法。 方法一:使用 SELECT INTO OUTFILE 语句 在 MySQL 中,我们可以使用 SELECT INTO OUTFILE 语句来将数据导出成文本文件,然后再将其转换...

    shell-mysql:shell脚本分页导出mysql数据

    shell-mysql 使用shell脚本分页读取MySQL数据 脚本背景 由于要在Linux上,远程读取mysql的表的数据,然后做一定清洗后,把数据上传至Hadoop集群中,使用Java写吧,感觉太麻烦了,得在Win上开发好,还得打成jar包, ...

    Bash中使用MySQL导入导出CSV格式数据

    `test_mysql_csv.txt`可能是脚本执行的结果记录或教程文本,详细解释了如何使用Bash和MySQL进行CSV数据操作,包括导入和导出的过程,以及可能出现的问题和解决策略。 总的来说,这个压缩包提供的资料涵盖了从Bash...

    mysql-shell-8.0.30-linux-glibc2.12-x86-64bit.tar.gz

    MySQL Shell是MySQL数据库管理系统提供的一款强大的命令行工具,它集成了JavaScript、Python和SQL三种语言环境,为数据库管理员和开发者提供了交互式操作MySQL服务器、管理数据库对象以及执行复杂脚本的功能。...

    Introducing MySQL Shell

    3. **高级功能**:MySQL Shell支持JSON文档存储、图形化查询结果、性能顾问等功能。JSON支持使得在NoSQL和SQL之间的工作变得更加方便,而性能顾问则能帮助识别并优化查询性能问题。 4. **安全连接**:MySQL Shell...

    shell编程备份mysql数据库.sh

    防止误删服务器数据库 ,使用Shell脚本备份数据库: ### 1、需求分析: 1)每天凌晨2:10备份数据库atguiguDB到/data...-----》shell脚本写到/usr/sbin/mysql_db_backup.sh---》然后将脚本设置到crond执行 2)代码实现

    使用mysqldump命令导出MYSQL数据库

    `mysqldump`是一个强大的命令行工具,它允许用户备份、导出MySQL数据库的数据和结构。这个工具对于开发人员和系统管理员来说是必不可少的,因为它提供了在不同环境之间迁移数据的能力,也可以用于定期备份,防止数据...

    mysql-shell-8.0.20-windows-x86-64bit.zip

    3. **图形化界面**:虽然MySQL Shell主要是一个命令行工具,但它的某些功能可以支持创建简单的图形化表示,帮助用户更好地理解数据结构和查询结果。 4. **安全连接**:MySQL Shell支持SSL加密连接,确保在远程操作...

    mysql数据导入导出php版 mysql数据导入导出php版

    PHP的PDO(PHP Data Objects)扩展提供了`PDO::query()`方法,可以执行SQL语句,包括`SELECT INTO OUTFILE`,将查询结果写入文件。但是,这个方法不支持整个数据库的导出,通常用于导出部分数据。 二、MySQL数据...

    shell脚本可配置备份mysql5.7.8以前数据库.rar

    本资源提供了一个专为MySQL 5.7.8及以前版本设计的shell脚本,它允许用户进行自定义配置,方便快捷地执行数据库备份操作。 首先,我们需要了解`shell`脚本。Shell是Unix或Linux操作系统中的命令解释器,它允许用户...

    mysql数据库导入,导出方法

    本文将详细介绍如何在Windows环境下使用命令行工具进行MySQL数据库的导出与导入。 #### 一、MySQL数据库导出方法 ##### 1. 准备工作 - **确认MySQL服务状态**:首先,需要确保MySQL服务已经启动。可以通过以下...

    Navicat for MySQL导出表结构脚本的简单方法

    使用MySQL可视化工具Navicat导出MySQL的表结构脚本的方法。 1、右键Navicat中的数据库→数据传输(Data Transfer)。 2、左边数据库对象(Database Objects)中选择对应...以上这篇Navicat for MySQL导出表结构脚本的

    mysql导入导出

    该命令支持将数据导出为 SQL 脚本文件,可以在任意支持 MySQL 的环境中运行这些脚本文件来恢复数据。 **基本语法:** ```shell mysqldump [选项] 数据库名 > 文件名.sql ``` **常用选项:** - `-u 用户名`:指定...

    mysql连接shell

    mysql用shell命令导出数据,执行存储过程

    mysql 导入导出 sql文件

    #### 三、MySQL导出SQL脚本的方法 ##### 1. 使用`mysqldump`命令导出整个数据库 ```shell mysqldump -u 用户名 -p 数据库名 > 导出的文件名 ``` 例如,导出名为`test`的数据库: ```shell mysqldump -u root -p ...

Global site tag (gtag.js) - Google Analytics