热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python脚本---在MySQL数据库中跑批加载多个表的数据

转载请注明出处:http:blog.csdn.netguoyjoearticledetails45841117#!usrbinenvpython#-*-coding:utf-8

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/45841117


#!/usr/bin/env python

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


"""
  Purpose: 生成日明细账单数据
  Created: 2015/4/21
  Modified:2015/4/24
  @author: guoyJoe
"""
#导入模块
import MySQLdb
import time
import datetime
import os




#日期
today = datetime.date.today()
yestoday = today - datetime.timedelta(days=1)


#账单日期
date_acct = yestoday.strftime('%Y%m%d')


#SQL语句
sqlDel = 'DELETE FROM dbchkbill.tb_day_chkbill WHERE date_acct = %s'
  
sqlIns = """
     INSERT INTO  dbchkbill.tb_day_chkbill(order_id,traderno,order_dtsend,oid_biz,oid_billno,date_acct,amt_paybill,flag,
       stat_bill,pay_prod,pay_type,order_info,dt_billupd) 
     SELECT p.order_id as order_id,q.pay_custid as traderno,p.order_dtsend as order_dtsend,
       q.oid_biz as oid_biz,CAST(q.oid_billno as char) as oid_billno,q.date_acct as date_acct,
       q.amt_payserial as amt_paybill,'1' as flag,p.stat_bill as stat_bill,p.oid_chnl as pay_prod,
       q.pay_type as pay_type,p.order_info as order_info,q.dt_col as dt_billupd
     FROM dbpay.tb_pay_bill p, dbpay.tb_paybillserial q 
     WHERE p.oid_billno = q.oid_billno and p.paycust_accttype = '2' 
      AND p.Paycust_Type = '1'
      AND p.stat_bill in ('0', '4')
      AND q.pay_stat = '1' 
      AND q.col_stat = '1'
      and q.date_acct = %s
   UNION ALL
     SELECT distinct p.order_id as order_id,p.col_custid as traderno,
       p.order_dtsend as order_dtsend,q.oid_biz as oid_biz,CAST(q.oid_billno AS CHAR) as oid_billno,
       q.date_acct as date_acct,q.amt_payserial  as amt_paybill,(
       case when q.amt_payserial > 0 then '0' else '1' end) as flag,p.stat_bill as stat_bill,
       p.oid_chnl as pay_prod,q.pay_type as pay_type,p.order_info as order_info,q.dt_col as dt_billupd 
     FROM dbpay.tb_pay_bill p, dbpay.tb_paybillserial q
     WHERE p.oid_billno = q.oid_billno 
      AND p.col_accttype = 2
      AND p.col_type = 1 
      AND p.stat_bill in (0, 4) 
      AND q.pay_stat = 1 
      AND q.col_stat = 1
      AND q.DATE_ACCT = %s
   UNION ALL 
     SELECT R.ORDER_ID AS ORDER_ID,R.ORI_COL_CUSTID as traderno,R.ORDER_DT AS ORDER_DTSEND,
       Q.OID_BIZ AS OID_BIZ,R.ORI_ORDER_ID AS OID_BILLNO,q.date_acct as date_acct,
       Q.AMT_PAYSERIAL  AS AMT_PAYBILL,
      (CASE WHEN Q.Colcust_Type='1' THEN '0' WHEN  Q.Paycust_Type='1' THEN '1' END) as flag,
      IF(R.STAT_BILL, '2', '5') AS STAT_BILL,r.oid_chnl as pay_prod,q.pay_type as pay_type,r.memo as order_info,
      q.dt_col as dt_billupd FROM DBPAY.TB_REFUND_BILL R, DBPAY.TB_PAYBILLSERIAL Q 
   WHERE R.oid_refundno = trim(Q.OID_BILLNO)
     AND R.ORI_COL_ACCTTYPE = 2 
     AND R.ORI_COL_TYPE = 1
     AND R.STAT_BILL = 2 
     AND Q.PAY_STAT = 1 
     AND Q.COL_STAT = 1 
     AND Q.DATE_ACCT = %s
   """


try:
#连接MySQL数据库
    cOnnDB= MySQLdb.connect("192.168.1.6","root","root","test" )
    connDB.select_db('test‘)


#删除昨晚账单的数据
    curDel = connDB.cursor()
    curDel.execute(sqlDel,date_acct)
    connDB.commit()
    curDel.close()


#插入昨天账单的数据
    curIns = connDB.cursor()
    curIns.execute(sqlIns,(date_acct,date_acct,date_acct))
    connDB.commit()
    curIns.close()
    connDB.close()
    print ('Insert the billing data successfully! %s' %time.strftime('%Y-%m-%d %H:%M:%S'))


#异常
except MySQLdb.Error,err_msg:
    print "MySQL error msg:",err_msg
推荐阅读
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文总结了Java中日期格式化的常用方法,并给出了示例代码。通过使用SimpleDateFormat类和jstl fmt标签库,可以实现日期的格式化和显示。在页面中添加相应的标签库引用后,可以使用不同的日期格式化样式来显示当前年份和月份。该文提供了详细的代码示例和说明。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
author-avatar
有一颗爱心和寂寞的心
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有