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表格通过邮件发送附件发给指定人的更多相关文章

  1. 一个php将数据库的数据导出到excle表格中的小dome

    首先我们需要下载个PHPExcel,PHPExcel下载地址链接:https://pan.baidu.com/s/1nxpAc45 密码:qgct 下面来写个dome: <?php //把数据写 ...

  2. 将数据库中数据导出为excel表格

    public class Excel { private static Logger logger = LoggerFactory.getLogger(Excel.class); /** * 导出项目 ...

  3. 从数据库将数据导出到excel表格

    public class JxlExcel { public static void main(String[] args) { //创建Excel文件 String[] title= {" ...

  4. MySQL数据库使用mysqldump导出数据详解

    mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等.接下来通过本文给大家介绍MySQL数 ...

  5. linux mysql 数据库操作导入导出 数据表导出导入

    linux mysql 数据库操作导入导出 数据表导出导入 1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库 ...

  6. mysql数据库表结构导出

    mysql数据库表结构导出 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据 mysqldump -h localh ...

  7. Mysql 数据库导入及导出

    Mysql 数据库导入及导出 数据库导出: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p dataname & ...

  8. Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

    Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般 ...

  9. [转]Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

    本文转自:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html Oracle中对数据对象和数据的管理,无疑都是使用PL/SQ ...

随机推荐

  1. 【Struts2】文件上传与下载

    一.上传 1.1 Struts2实现步骤 浏览器端 服务器端 1.2 关于Struts2中文件上传细节: 1.3 示例 jsp文件 Action类 struts.xml文件配置 二.下载 2.1 文件 ...

  2. redis __详解 (转载自作者:孤独烟 出处: http://rjzheng.cnblogs.com/)

    https://www.cnblogs.com/rjzheng/p/9096228.html [原创]分布式之redis复习精讲 引言 为什么写这篇文章? 博主的<分布式之消息队列复习精讲> ...

  3. Mysql(四):数据操作

    一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  4. C#DataGrid列值出现E形式的小数,将DataGrid表格上的数据保存至数据库表时会因格式转换不正确导致报错

    问题描述:在DataGridView中调整金额一列,当输入小数0.000001后会显示1E-6,此时进行保存操作时报错,提示无法将string类型转换成Decimal 原因分析:由于列调整金额为1E- ...

  5. js过滤时间格式

    Date.prototype.Format = function(fmt) { //author: meizz var o = { "M+" : this.getMonth()+1 ...

  6. ubuntu 完全干净的卸载docker

    1. 删除某软件,及其安装时自动安装的所有包 sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd r ...

  7. docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /tmp/tfserving/

    注意要是当前的完整路径 pwd查看到完整路径,再加入到source里面即可

  8. localstorage ie11不支持

    据我所知,localstorage在高版本的ie.谷歌.火狐下都是支持的,以前没在ie上看过,不清楚,今天我用ie11打开我vue编译后的html,竟然发现不支持localstorage了,用仿真的i ...

  9. 【vue】@click绑定的函数,如何同时传入事件对象和自定义参数

    知识很久不用的话,果然是容易忘的... 记记笔记,希望能加深点印象吧. [仅仅传入事件对象] html: <div id="app"> <button @clic ...

  10. Ecplilse使用

    0 注意版本 新版本对JDK的支持是有限的,如果Ecplise版本过高,而JDK版本低的话可能会不支持JDK 1.快捷键 右键-->source中可快速生成get set  重写方法 2.Deb ...