介绍
小编给大家分享一下如何使用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数据库并通过邮件发送信息功能