您的位置:首页 > 数据库 > MySQL

Pyhton定时生成模拟数据并存入Mysql

2016-07-22 10:36 531 查看
设计思路:

1.python 使用随机数模块,生成所需要的模拟数据。

2.将模拟数据定时存入mysql

3.设置定时器,定时执行

ps:数据库和表的创建在mysql的shell中以完成,模拟数据存入test表中,每次生成单条记录。

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

import MySQLdb
import schedule
import time
import datetime
import random
import string

class SaveToSql(object):
def __init__(self, conn):
self.conn = conn
# 生成随机数函数
def random_str(self, randomlength=random.randint(1,10)):
a = list(string.ascii_letters)
random.shuffle(a)
return ''.join(a[:randomlength])
# 存储函数
def save(self):
cursor = self.conn.cursor()

try:
sql = "insert into test(time, name, type, data) values('%s','%s', '%s', '%s')"% (datetime.datetime.now(),self.random_str(),self.random_str(),self.random_str())
cursor.execute(sql)

print('Insert the data: ', sql)
rs = cursor.rowcount
"""判断数据库表中数据所影响行数是否为1,
如果不是的话就进行异常抛出"""
if rs != 1:
raise Exception("Error of data inserting.")
self.conn.rollback()
self.conn.commit()
finally:
cursor.close()

if __name__ == "__main__":
conn = MySQLdb.connect(
host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = '',
db = 'test',
charset = 'utf8'
)

def job():
save_data = SaveToSql(conn)
save_data.save()

try:
schedule.every(10).seconds.do(job)
except Exception as e:
print('Error: %s'% e)
#   finally:
#       conn.close()

while True:
schedule.run_pending()
time.sleep(1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql python