将mysql数据库的数据导出做成excl表格通过邮件发送附件发给指定人
mysql数据库的数据导出成excl表
方法一:
mysql -uroot -p123456 -e “select *.* from 表 into outfile ‘文件路径.xls’
into outfile 将输出的数据导入到指定文件里以.xls结尾。需要开启secure-file-priv 默认只能将文件导入到/var/lib/mysql-files目录下。
此种方式导出的纯数据,没有表结构
方法二:
mysql -uroot -p123456 -e "select *。* from 表" > /bash/mysqlsql/sql.csv >/dev/null
将输出的数据重定向到一个文件里,以.csv结尾
awk '{print $1","$2","$3","$4","$5","$6 > "/bash/mysqlsql/sql1.csv"}' /bash/mysqlsql/sql.csv
将表的分隔符换成“,” (因为csv表格的分割符是逗号)
转换字符编码 linux使用的字符集是utf-8 windows使用的是GBK
iconv -f UTF- -t GBK 转换后的文件 -o 源文件
-f -t 将UTF-8格式的 转换成GBK的
将文件定义成附件发送
使用python邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication if __name__ == '__main__':
fromaddr = '发件人邮箱'
password = '密码'
toaddrs = ['收件人邮箱','可定义多人'] content = '邮件内容'
textApart = MIMEText(content)
#发送图片附件
imageFile = '图片路径'
imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile)
#发送文本附件
pdfFile = '文本路径'
pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile) #发送压缩包附件
zipFile = '压缩包路径' zipApart = MIMEApplication(open(zipFile, 'rb').read()) zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile) m = MIMEMultipart()
m.attach(textApart)
m.attach(imageApart) #发送图片附件,没有图片需要注释
m.attach(pdfApart) #发送文本附件,没有文本需要注释
m.attach(zipApart) #发送压缩包附件,没有压缩包需要注释
m['Subject'] = '邮件标题' try:
server = smtplib.SMTP_SSL('smtp.exmail.qq.com')
server.login(fromaddr,password)
server.sendmail(fromaddr, toaddrs, m.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print('error:',e) #打印错误
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication if __name__ == '__main__':
fromaddr = 'wangkang@innovationai.cn'
password = 'Wk17908452'
toaddrs = ['wangkang@innovationai.cn','yupanlong1@qq.com'] content = '邮件内容'
textApart = MIMEText(content) imageFile = '图片路径'
imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile) pdfFile = '文件路径'
pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile) zipFile = '压缩包路径'
zipApart = MIMEApplication(open(zipFile, 'rb').read())
zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile) m = MIMEMultipart()
m.attach(textApart)
m.attach(imageApart)
m.attach(pdfApart)
m.attach(zipApart)
m['Subject'] = '邮件标题' try:
server = smtplib.SMTP_SSL('smtp.exmail.qq.com')
server.login(fromaddr,password)
server.sendmail(fromaddr, toaddrs, m.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print('error:',e) #打印错误
将mysql数据库的数据导出做成excl表格通过邮件发送附件发给指定人的更多相关文章
- 一个php将数据库的数据导出到excle表格中的小dome
首先我们需要下载个PHPExcel,PHPExcel下载地址链接:https://pan.baidu.com/s/1nxpAc45 密码:qgct 下面来写个dome: <?php //把数据写 ...
- 将数据库中数据导出为excel表格
public class Excel { private static Logger logger = LoggerFactory.getLogger(Excel.class); /** * 导出项目 ...
- 从数据库将数据导出到excel表格
public class JxlExcel { public static void main(String[] args) { //创建Excel文件 String[] title= {" ...
- MySQL数据库使用mysqldump导出数据详解
mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等.接下来通过本文给大家介绍MySQL数 ...
- linux mysql 数据库操作导入导出 数据表导出导入
linux mysql 数据库操作导入导出 数据表导出导入 1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库 ...
- mysql数据库表结构导出
mysql数据库表结构导出 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据 mysqldump -h localh ...
- Mysql 数据库导入及导出
Mysql 数据库导入及导出 数据库导出: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p dataname & ...
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般 ...
- [转]Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
本文转自:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html Oracle中对数据对象和数据的管理,无疑都是使用PL/SQ ...
随机推荐
- android默认获取敏感权限
1.通过系统签名获取权限 定制系统中,可以通过源码的签名文件对应用进行签名,在应用的AndroidManifest.xml中配置好参数,如图 <manifest xmlns:android=&q ...
- CentOS7 PHP增加连接Sqlserver扩展
扩展插件下载地址 https://github.com/Microsoft/msphpsql/tags 本机PHP版本7.2,非线程安全 https://github.com/microsoft/ms ...
- web应用原理之——会话
会话是大家开发Java EE Web应用的常用技术,那么会话是什么,会话的用途还有工作原理又是什么,下面就简单说一说. 什么是会话,在web应用中,作为客户端的浏览器,通过请求/响应这种模式访问同一个 ...
- python 只导出项目依赖包
平时导出依赖一般都是 pip freeze > requirements.txt 这种方式导出的是当前python环境中所有的包,只会多不会少,有些库不是必需的也跟着导出来,冗余过重. 这 ...
- vim技巧总结
自动补齐CTRL+N/CTRL+P vim 自动补全 颜色设置 hi Pmenu ctermfg=black ctermbg=gray guibg=#444444 hi PmenuSel ctermf ...
- TCP协议之网络延时
影响TCP 网络时延的因素硬件速度网络和服务器的负载请求和响应报文的尺寸客户端和服务器之间的距离TCP 协议的技术复杂性TCP协议产生的时延TCP 连接建立握手:TCP 慢启动拥塞控制:数据聚集的 N ...
- CSS基础学习 21.CSS居中总结
注意:*在IE中并不代表通配符的意思,是代表根元素的意思,所以为了匹配适应各种浏览器,进行页面初始化 <style> *{ margin:0; padding:0; } </styl ...
- Mapreduce案例之找共同好友
数据准备: A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ ...
- list去重的四种方式
L=[1,2,3,3,5,5,5,8,4,6,9,7,2,'a','s','a','e','s','z'] def DelDupli(L): L1=[] for i in L: ...
- 010_linuxC++之_运算符重载
(一)运算符重载:运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型. (二)实现类不同对象里中变量的相加 (三)程序 #include <iostream> ...