如何使用Python实现查询mysql数据库并通过邮件发送信息功能

  介绍

小编给大家分享一下如何使用Python实现查询mysql数据库并通过邮件发送信息功能,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

具体如下:

这里使用Python查询mysql数据库,并通过邮件发送宕机信息。

Python代码如下:

# - *安康;编码:UTF-8  - * -   # !/usr/bin/env  python   & # 39;& # 39;& # 39;& # 39;& # 39;   作者:qlzhong   Created 提醒;2015-6-29   征途宕机日志统计汇总   & # 39;& # 39;& # 39;   import  MySQLdb   import 时间   import  datetime   import  smtplib   得到email.mime.text  import  MIMEText   mailto_list=(“mail@mail.com")   # mailto_list=(“zhongqilong@ztgame.com")   mail_host=皊mtp.qq.com", #设置服务器   mail_user=啊?, #用户名   mail_pass=啊?, #口令   mail_postfix=?”, #发件箱的后缀   def  send_mail (to_list、子、内容):   我才能=癶ello" +“& lt;“+ mail_user +“@" + mail_postfix +“比;“   msg 才能=,MIMEText(内容、_subtype=& # 39;平原# 39;,_charset=& # 39; utf - 8 # 39;)   味精才能[& # 39;主题# 39;],=子   味精才能[& # 39;从# 39;],=,我   味精才能[& # 39;使# 39;],=,,. join (to_list);“   尝试才能:   ,,,server =, smtplib.SMTP ()   ,,,server.connect (mail_host)   ,,,server.login (mail_user mail_pass)   ,,,server.sendmail(我,,to_list,, msg.as_string ())   ,,,server.close ()   ,,,return 真实的   ,,except 例外,e:   ,,,print  str (e)   ,,,return 错误的   class  MySQLHelper:   #才能配置数据库信息并连接   def 才能;__init__(自我、主机=? * * *”,用户=? * * *“,密码=? * * *“,端口=3306,charset=皍tf8"):   ,,,self.host=主机   ,,,self.user=用户   ,,,self.password=密码   ,,,self.port=端口   ,,,self.charset=字符集   ,,,试一试:   ,,,,,self.conn=MySQLdb.connect(主机=self.host用户=self.user passwd=self.password端口=self.port)   ,,,,,self.conn.set_character_set (self.charset)   ,,,,,self.cur=self.conn.cursor ()   ,,,,,印刷(“==================connect 成功====================?   ,,,except  MySQLdb.Error  as  e:   ,,,,,印刷(“Mysql  Error  % d:, % s", %, (e.args [0],, e.args [1]))   #才能取出需要统计的数据库名称   def 才能db_name(自我):   ,,,un_db_name =, (& # 39; information_schema& # 39; & # 39; cz # 39;, & # 39; ecshop& # 39;, & # 39; edutone& # 39;, & # 39;广州# 39;,& # 39;mysql # 39;, & # 39; newparent& # 39;, & # 39;父母# 39;,& # 39;performance_schema& # 39;, & # 39;测试# 39;,& # 39;xx # 39;, & # 39; yyhd& # 39;】   ,,,name =, []   ,,,试一试:   ,,,,,self.cur.execute (& # 39; show 数据库# 39;)   ,,,,,for  row 拷贝self.cur.fetchall ():   ,,,,,,,for 小姐:拷贝行:   ,,,,,,,,,if 小姐:not 拷贝un_db_name:   ,,,,,,,,,,,name.append(我)   ,,,,,return 名字   ,,,except  MySQLdb.Error  as  e:   ,,,,,印刷(“Mysql  Error  % d:, % s", %, (e.args [0],, e.args [1]))   #指才能定查询的数据库名称   def 才能selectDb(自我,db):   ,,,试一试:   ,,,,,self.conn.select_db (db)   ,,,except  MySQLdb.Error  as  e:   ,,,,,印刷(“Mysql  Error  % d:, % s", %, (e.args [0],, e.args [1]))   #才能使用该语句来直接查询昨天和今天的差异   def 才能;monion_today_yesddiff(自我,今天,,,昨天):   ,,,试一试:   ,,,,,strresult =,““   ,,,,,strsql =, & # 39; SELECT 地址,,charversion,,总和(今天),as 今天,总和(昨天),as  yesterday  & # 39;   ,,,,,strsql  +=, & # 39;得到(SELECT 地址,,,,,as 今天,tmp  as 昨天,charversion 得到(count (*), SELECT  as  tmp,,地址,,charversion 得到的& # 39;,+,昨天   ,,,,,strsql  +=, & # 39;”, WHERE  charversion  like  \ & # 39; 1.0.0.3% \ & # 39;, GROUP  BY 地址),As  TEST  WHERE  tmp>=50, & # 39;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何使用Python实现查询mysql数据库并通过邮件发送信息功能