margaretmm / myblog

my tech blog
0 stars 1 forks source link

pymysql 批量导入数据 #27

Open margaretmm opened 5 years ago

margaretmm commented 5 years ago

import pymysql import hashlib

import time from numpy.core.defchararray import lower

class mysql: con=None def init(self): self.con = pymysql.connect(host='10.80.21.41', port=3306, user='root', password='88075998', database='anti_fake', db='sp_device_authcode', charset='utf8')

def insert_file_rec(self, sql, data):
     cur = self.con.cursor()
     try:
         # sql_str = ("INSERT INTO t_forward_file (Ffile_name, Ffile_md5)",
         #            + " VALUES ('%s', '%s')" % (file_name, file_md5))
         #cur.execute(sql_str)
         cur.executemany(sql, data)
         self.con.commit()
     except:
         self.con.rollback()
         print('Insert operation error')
         raise
     finally:
         cur.close()

def close(self):
    self.con.close()

def creatData(): start = 800000000 tag= "ABCDEF" i=1 tmp1=None tmp2=None lst=[] lstIn=[] while i< 140000: tmp1=lower(tag+str(start)) a=str(tmp1)+"www.baidu.com" print(type(a)) tmp2=hashlib.md5(a.encode("utf8")).hexdigest() lstIn=(start,tmp2,time.strftime('%Y-%m-%d',time.localtime(time.time()))) start =start+1 i=i+1 lst.append(lstIn) return lst

if name=="main":

db=mysql()
sql = "INSERT INTO sp_device_authcode(sub_serial,verification_code,create_time) VALUES " \
      "(%s,%s,%s)"
# 一个tuple或者list
data=creatData()
#T = (('xiaoming', 31, 'boy'), ('hong', 22, 'girl'), ('wang', 90, 'man'))

db.insert_file_rec(sql,data)