Python脚本->定时连接数据库执行指定SQL语句

业务前提 : 我在实际工作中有这样一项任务 , 等待数据库中新增债券代码的完成

这些代码一般都是新发行的债券

我只需要监控一下代码的添加完成情况

主要是定时执行SQL脚本 , 比较麻烦

用的是Microsoft Sql Server

所以有如下python脚本

 1 import time,pymssql
 2 def mytask(): #循环执行的任务
 3     conn = pymssql.connect('192.168.xxx.xxx','read', 'read', 'fcdb') #服务器地址 , 登录账号 , 密码 ,数据库名称
 4     cursor = conn.cursor()
 5     symbol="('156911','152123')" #需要监控的债券代码
 6     sql=("select symbol,exchange,b.entrydate,b.entrytime,bondissue12,bondissue13 from dbview_bondname a, bonddt b ,bondissue c"
 7     +" where a.bcode=b.bcode and a.bcode=c.bcode and symbol in"+symbol) #通过查询语句查看代码添加的完成情况
 8     cursor.execute(sql)
 9     cnt = 0
10     for row in cursor:
11         print("代码市场:",row[:2])
12         print("录入时间:",row[2:4])
13         print("发行起止:",row[4:])
14         cnt += 1
15     conn.close()
16     return cnt
17 def re_exe(n): 
18     cnt=mytask()
19     while not cnt:
20         print(cnt)
21         cnt=mytask()    
22         time.sleep(n)
23     print("代码已经同步好了%d条" % cnt)
24 if __name__=='__main__':
25     re_exe(120) #设置循环执行的时间 单位是秒

结果如下图 用的geany编辑器 

 

pymssql库 用于连接Microsoft SQL Server数据库

time.sleep()配合循环控制语句while 可以实现定时连接数据库的功能

其他一些小功能就是看自己实际的需要了

如果要顺走自己用的话 需要改的地方 基本都加了备注

改好之后就可以定制化Python脚本了

谢谢!

原文地址:https://www.cnblogs.com/chendongblog/p/10683229.html