Python脚本---在 MySQL数据库中跑批加载多个表的数据
转载请注明出处: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
Python脚本---在 MySQL数据库中跑批加载多个表的数据相关推荐
- python脚本监控mysql数据库_Python脚本监控mysql数据库,Python脚本监控mongo数据库
任务:应帅气的领导要求,需要监控生产环境mysql和mongo数据库服务.不仅要connect successful还要进行数据交互进一步确认数据库服务正常. 思路: mysql和mongo 数据库i ...
- mysql数据库中查询第几条到第几条数据_在 mysql 数据库中,从查询结果的第四条记录开始选取5条记录,下面 sql 语句正确的是( )...
[单选题]同一种货物,在同一线路上或平行线路上作相对方向的运送,而与对方运程的全部或一部分发生重迭交错的运输被称为( ). [多选题]水闸一般由()三部分组成 [单选题]在一个常规的统计表内,非必需包 ...
- python示例--下载mysql数据库中数据--excel表格,合并表格
用到的知识点 1.mysql连接 2.pandas的concat数据合并 3.路径等 import threading import requests import json import pymys ...
- shell脚本将mysql数据库中查询结果导出制作成.CSV格式文件;或.txt/.log文件
#第一种方法在命令行中直接执行下面代码(.log可替换为其他格式文件) mysql -hlocalhost -P3306 -uroot -p1234 -e"select * from dem ...
- python获取mysql表中一列数据_将Python列表插入mySQL数据库中的一列
嗨,我试图在一列中插入一个python列表,但是它总是在语法上给出错误. 这是新手.谢谢你的帮助.谢谢.在from time import time import MySQLdb import url ...
- mysql 数据库中 ,按照字母加数字的字符串排序
left(c.CODE,1),convert(substr(c.CODE,2,length(c.CODE)-1),SIGNED) https://zhidao.baidu.com/question/1 ...
- c 使用mysql的语句_在 MySQL 数据库中使用C 履行SQL的语句
与 PostgreSQL 类似,可运用许多不一样的言语来访问 MySQL,包括 C.C++.Java 和 Perl.从 Professional Linux Programming 中第 5 章有关 ...
- 关于怎么把Excel表格导入MySQL数据库中
关于怎么把Excel表格导入MySQL数据库中 第一步:建造Excel表格并且编辑数据. 1.我们要建立一个Excel表格文件 2.编辑我们需要的数据 3.保存到你知道的位置 第二步:在MySQL中建 ...
- python hive mysql_[7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - 摩西莫西 - ITeye技术网站...
编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) 很多情况下,需要将Hive中的运算结果保存到MySQL数据库中,可以通过简单的Python脚本来实现. 例子1:如果获取Hive ...
最新文章
- try~Catch语句中异常的处理过程
- linux启动phpstudy,phpstudy启动不了解决方法
- 计算机英文文献博客,计算机专业外文文献论文翻译.docx
- 使用openSSL构造一个支持https的nodejs服务器
- python可以做运动控制卡吗_今天,终于明白了运动控制器和运动控制卡的区别
- 0530JavaScript基础2
- 使用 @ControllerAdvice 和 实现ResponseBodyAdvice接口, 拦截Controller方法默认返回参数,统一处理返回值/响应体
- linux怎么复制文件夹全部内容,linux局域网怎么复制文件夹下的全部文件到另外文件夹...
- html是一种描述的沙子语言,小学低年级语文阅读训练
- mysql三大范式 答案_数据库逻辑设计之三大范式通俗理解,一看就懂,书上说的太晦涩...
- Java中Integer与String类型互转
- 求职干货:再也不怕面试官问斐波那契数列了!
- 简谈Java的join()方法(转)
- 《BI那点儿事》Cube的存储
- Java_基础—readLine()和newLine()方法
- 算法设计——极大极小搜索
- 6种最好的图片无损压缩工具
- 什么是火起来的“宅经济”,重庆阿尔克互联网技能帮扶学习,进入互联网
- Flume 1.9.0用户指南
- 有关队列的操作 python