今天有一需求,是将全国每市的参赛人数前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.连表查询最后将结果导出。
相关推荐
mysql导出指定表并分表存储sql文件且压缩的shell脚本,数据库数据过大时,可以用于数据库备份
要将mysql的查询结果导出为csv,一般会使用php连接mysql执行查询,将返回的查询结果使用php生成csv格式再导出。 但这样比较麻烦,需要服务器安装php才可以实现。 直接使用mysql导出csv方法 我们可以使用 into ...
防止误删服务器数据库 ,使用Shell脚本备份数据库: ### 1、需求分析: 1)每天凌晨2:10备份数据库atguiguDB到/data...-----》shell脚本写到/usr/sbin/mysql_db_backup.sh---》然后将脚本设置到crond执行 2)代码实现
使用MySQL可视化工具Navicat导出MySQL的表结构脚本的方法。 1、右键Navicat中的数据库→数据传输(Data Transfer)。 2、左边数据库对象(Database Objects)中选择对应...以上这篇Navicat for MySQL导出表结构脚本的
mysql用shell命令导出数据,执行存储过程
shell-mysql 使用shell脚本分页读取MySQL数据 脚本背景 由于要在Linux上,远程读取mysql的表的数据,然后做一定清洗后,把数据上传至Hadoop集群中,使用Java写吧,感觉太麻烦了,得在Win上开发好,还得打成jar包, ...
NULL 博文链接:https://codingstandards.iteye.com/blog/604541
Linux下将远程mysql数据库需要的数据导出到本地文件,然后将文件导入到本地的oracle数据库中,通过shell脚本和sqlldr实现每日定时任务
主要介绍了shell脚本实现mysql定时备份、删除、恢复功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
MySQL 是一款广受欢迎的开源关系型数据库管理系统...同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统
注意: ...此脚本利用mysqldump命令,mysqldump命令是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。配合 crontab命令 实现自动备份。 知识扩展 my
集成环境:集成了MySQL Shell,提供了与MySQL数据库的交互式命令行访问。 3. 版本更新 MySQL Workbench Community 8.0.36 针对macOS的ARM64架构进行了优化,确保在Apple的M1、M2等芯片的Mac上能够流畅运行。此外,...
sqlite3-to-mysql:使Sqlite3导出MySQL可读
1、导出所有库 系统命令行 mysqldump -uusername -ppassword –all-databases > all.sql 2、导入所有库 mysql命令行 mysql>source all.sql; 3、导出某些库 系统命令行 mysqldump -uusername -ppassword –...
而全量备份则使用mysqldump将所有的数据库导出,每周日凌晨3点执,并会删除上周留下的mysq-bin.00000*。然后对mysql的备份操作会保留在bak.log文件中。如下图:开始:2013年05月02日 15:10:57 结束:2013年05月02日 15...
一个简单的 bash 脚本,用于将 MySQL 数据库表内容导出到 HTML 文件中。 常见用例:创建一个带有的数据库,您需要监控并通过邮件将完整内容作为报告发送(请参阅下面的 linux cron 表示例)。 如果需要,可以轻松...
注意,如果你运行mysqldump没有–quick或–opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。 mysqldump支持下列选项: 代码如下:–add-locks ...
导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出。 通过执行mysqldump –help,你能得到你mysqldump的版本支持的选项表。...
请参阅我仅使用Slack和Shell适配器测试了该脚本,但是它应该适用于大多数适配器。指令授予对数据库的临时访问权限hubot give me <level> access to <database> database 该level对应于您要用于访问指定database的...
Web应用程序是独立的.jar和可部署.war(Tomcat),具有FileWalker等功能,带有通过SQL查询进行递归DBUnit导出器SQL编辑器,Web Shell和Groovy编辑器 安装 要求 Java 8(JDK) 阿帕奇Maven 网页浏览器 用Maven构建 ...