【初學python】使用python連接mysql數據查詢結果並顯示


因為測試工作經常需要與后台數據庫進行數據比較和統計,所以采用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)]

  目前腳本的缺點是只能進行一次性查詢,之后再進行優化使之能進行多次查詢后再斷開數據庫連接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM