zoukankan      html  css  js  c++  java
  • python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码

     1 #coding: utf-8
     2 __author__ = 'zdz8207'
     3 #python2.7 
     4 import redis, json, re, time
     5 import MySQLdb
     6 import MySQLdb.cursors
     7 
     8 HOST = "127.0.0.1"
     9 USER = "db username"
    10 PASSWD = "your password"
    11 DB = "your db name"
    12 REDIS_DB = redis.Redis(host="127.0.0.1", password="youpassword", port=xxxx)
    13 
    14 import re
    15 import random
    16 import datetime
    17 import traceback
    18 
    19 #update 的直接传sql语句进来
    20 def search_by_mysql(sql):
    21     data = []
    22     try:
    23         conn = None
    24         #conn = MySQLdb.connect(host=HOST, user=USER, passwd=PASSWD, db=DB) #默认返回元组类型
    25         #cursorclass=MySQLdb.cursors.DictCursor 以key:value字典方式返回
    26         conn = MySQLdb.connect(host=HOST, user=USER, passwd=PASSWD, db=DB, cursorclass=MySQLdb.cursors.DictCursor)
    27         cur = conn.cursor()
    28         cur.execute(sql)
    29         data = cur.fetchall()
    30         cur.close()
    31         conn.commit()
    32         conn.close()
    33     except MySQLdb.Error, e:
    34         print "Mysql Error %d: %s" % (e.args[0], e.args[1])
    35     return data
    36 
    37 def updateData():
    38     print("========== start updateData ===========")
    39     # get reddis issues
    40     issues = REDIS_DB.hkeys(lottery_type)
    41     issues.sort()
    42     issue = issues[-1]
    43     try:
    44         datas = search_by_mysql("SELECT s.id, s.issue,a.numbers FROM search_history AS s JOIN assembly_ssq AS a "
    45                             "WHERE s.lottery_type='ssq' AND s.assembly_id=a.id AND s.iscalculate=0 AND s.issue <= %s LIMIT 100" %(issue))
    46         #print(datas)
    47     except:
    48         traceback.print_exc()
    49         return
    50     if len(datas) == 0:
    51         print("========== end update data="+ str(len(datas)))
    52         return
    53     for data in datas:
    54         numbers = data["numbers"]
    55         id = data["id"]
    56         issue = data["issue"]
    57         cur_issue = REDIS_DB.hget(lottery_type, issue)
    58         issue_data = json.loads(cur_issue)
    59         result = issue_data['result']
    60         ismach = 0
    61         if numbers == result:
    62             ismach = 1
    63         try:
    64             update_sql = "update search_history set ismach=%s, where id=%s " %(ismach,id)
    65             search_by_mysql(update_sql)
    66         except:
    67             traceback.print_exc()
    68     print("========== end update data="+ str(len(datas)))
    69 
    70 if __name__ == "__main__":
    71     updateData()

     扩展阅读:

    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法 - 流风,飘然的风 - 博客园
    http://www.cnblogs.com/zdz8207/p/python_learn_note_24.html

  • 相关阅读:
    Android开发 GradientDrawable详解
    Android开发 ShapeDrawable详解
    Android开发 ViewPager删除Item后,不会更新数据和View
    Android开发 输入法调用学习
    Android开发 EditText的开发记录
    Android开发 TextView的开发记录
    Android开发 获取View的尺寸的2个方法
    Android开发 获取视频中的信息(例如预览图或视频时长) MediaMetadataRetriever媒体元数据检索器
    Android开发 Tablayout的学习
    Python 模块-zipfile
  • 原文地址:https://www.cnblogs.com/zdz8207/p/python_learn_note_25.html
Copyright © 2011-2022 走看看