因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装)

#-*- coding: utf-8 -*-

import MySQLdb, datetime, time
#code数字含义
code_mean = {10:"开始下载(10)",
11:"下载完成(11)",
12:"安装界面(12)",
13:"安装成功(13)",
14:"启动游戏(14)",
16:"更新开始(16)"}
#Networktype数字含义
network_type_mean = {1:"3G 网络",
2:"2G 网络",
3:"WIFI网络"}
#当前测试人员拥有手机
phonelist = {1:"0049990********", 2:"8689430********", 3:"3558680********"}
#当前系统时间
nowtime = (datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S'))
print "当前时间:" + nowtime
today = str(nowtime).split()[0]
#去除日期
HMS = nowtime.split()[1] print "目前测试人员拥有的手机如下:"
print "HTC *** :1"
print "HTC **** :2"
print "HUAWEI ***** :3" phont_imei = raw_input("请选择你要查询的手机,输入上列手机对应的数字即可:")
time_start = raw_input("请输入需要查询的起始时间(格式如后:" + HMS + ",默认日期为今天): ")
imei = phonelist[int(phont_imei)]
#查询开始时间
starttime = datetime.datetime.now() print "开始连接数据库......"
try:
db = MySQLdb.connect(host="***.***.***.***", port=****, user="****", passwd="****", db="****")
cursor = db.cursor()
print "数据库连接成功,开始进行查询......"
cursor.execute('''SELECT
****,
****,
****,
****,
****
from ****
WHERE
**** = \'''' + imei + '''\' AND
**** > \'''' + today + " " + time_start + '''' AND
**** IN (10, 11, 12,13,14,16)
ORDER BY
**** DESC
''')
result = cursor.fetchall()
print "已获取查询结果,开始断开数据库连接....."
cursor.close()
db.close()
except MySQLdb.Error,e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])
else:
print "断开数据库连接成功,开始展示查询结果......"
if bool(result) != True:
print "( ⊙ o ⊙ )啊哦,竟然没有查询到数据结果,请检查下查询时间"
else:
#对查询出的数据进行处理,方便查看
print ""
print "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
i = 0
for record in result:
sqldata = result[i]
time = sqldata[0]
code = sqldata[1]
name = sqldata[2]
networktype = sqldata[4]
print network_type_mean[int(networktype)] + \
" " + str(time).split()[1] + \
" " + code_mean[int(code)] + \
" " + name
i += 1
print "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
#结果展示时间
endtime = datetime.datetime.now()
wast_time = (endtime - starttime).seconds
print "本次查询总共耗时:" + str(wast_time) + " 秒 " + "查询手机IMEI:" + phonelist[int(phont_imei)]

  目前脚本的缺点是只能进行一次性查询,之后再进行优化使之能进行多次查询后再断开数据库连接

【初学python】使用python连接mysql数据查询结果并显示的更多相关文章

  1. java连接mysql数据查询数据

    package com.cn.peitest.connectDatabase; import java.sql.Connection; import java.sql.DriverManager; i ...

  2. python连接mysql数据表查询表获取数据导入到txt中

    import pymysql'''连接mysql数据表查询表获取数据导入到txt中'''#查询结果写入数据到txtdef get_loan_number(file_txt): connect = py ...

  3. EF连接MySQL数据Web.Config配置

    EF连接MySQL数据Web.Config配置 <?xml version="1.0" encoding="utf-8"?> <configu ...

  4. Python 3.5 连接Mysql数据库(pymysql 方式)

    由于 MySQLdb 模块还不支持 Python3.x,官方的Mysql连接包只支持到3.4,所以 Python3.5 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通 ...

  5. python 3.5 连接mysql数据库

    python 3.5 要连接mysql数据库,必须先安装pymysql模块,该模块可以操作mysql数据. 1.安装pymysql模块:使用pip进行安装 cmd打开运行模式,切换目录到pip的scr ...

  6. 【Python】Windows平台下Python、Pydev连接Mysql数据库

    Mysql数据库是跨平台的,不是说Python一定就要连接Mongodb. Python连接Mysql数据库是非常easy的. 首先,你要配置好Python的开发环境,详见<[Python]Wi ...

  7. Python 使用pymysql连接MySQL

    由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通过 pip 安装.但如果你使用的是 p ...

  8. python使用sqlalchemy连接mysql数据库

    环境:centos7+python2.7.5+sqlalchemy sqlalchemy是python当中比较出名的orm程序.在python中,使用sqlalchemy连接mysql数据库进行操作非 ...

  9. python 基础 9.3 mysql 数据操作

    #/usr/bin/python #coding=utf-8 #@Time   :2017/11/21 0:20 #@Auther :liuzhenchuan #@File   :mysql 数据操作 ...

随机推荐

  1. .NET 提升教育 第一期:VIP 付费课程培训通知!

    为响应 @当年在远方 同学的建议,在年前尝试进行一次付费的VIP培训. 培训的课件:点击下载培训周期:10个课程左右,每晚1个半小时培训价格:1000元/人.报名方式:有意向的请加QQ群:路过秋天.N ...

  2. Centos——安装JDK

    写在前面: Just mark! 创建linux虚拟机的时候经常要安装JDK,配置环境变量,却又经常忘记,这里记录一下. 环境:Centos-6.8-x86_64-minimal JDK :jdk-7 ...

  3. Entity Framework 手动使用migration里面的up 和down方法。

    add-migration -IgnoreChanges 201606100717405_201606100645298_InitialCreate 执行这一句后 ,清空使用map生成的代码,个人不太 ...

  4. Python爬虫小白入门(四)PhatomJS+Selenium第一篇

    一.前言 在上一篇博文中,我们的爬虫面临着一个问题,在爬取Unsplash网站的时候,由于网站是下拉刷新,并没有分页.所以不能够通过页码获取页面的url来分别发送网络请求.我也尝试了其他方式,比如下拉 ...

  5. 子类继承父类时JVM报出Error:Implicit super constructor People() is undefined for default constructor. Must define an explicit constructor

    当子类继承父类的时候,若父类没有定义带参的构造方法,则子类可以继承父类的默认构造方法 当父类中定义了带参的构造方法,子类必须显式的调用父类的构造方法 若此时,子类还想调用父类的默认构造方法,必须在父类 ...

  6. iOS之开发中常用的颜色及其对应的RGB值

      R G B 值   R G B 值   R G B 值 黑色 0 0 0 #000000 黄色 255 255 0 #FFFF00 浅灰蓝色 176 224 230 #B0E0E6 象牙黑 41 ...

  7. 15个C++项目列表

    实验楼上有很多C++的实战项目,从简单到进阶,学习每个项目都可以掌握相应的知识点. 如果你还是C++新手的话,那么这个C++的项目列表你可以拿去练手实战开发,毕竟学编程动手实践是少不了的! 如果你不知 ...

  8. (转载) RESTful API 设计指南

    作者: 阮一峰 日期: 2014年5月22日 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制 ...

  9. CentOS 7 安装出现 /dev/root does not exits 导致无法安装的问题

    本人在官网下的是这个 CentOS-7-x86_64-DVD-1611.iso ,然后用UltraISO 9.6制作的U盘启动盘,不过在安装的时候出现了这个错误, 然后也是搜了好久,试了一下,下面这个 ...

  10. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...