测试Linux是否安装MYSQLdb,如果没有请安装,具体测试及安装方法见我的上一篇文章
http://blog.csdn.net/tlk20071/article/details/51746483
操作mysql数据库代码如下:
# coding: utf-8
import MySQLdb
try:
conn=MySQLdb.connect(host='127.0.0.1',user='oms',passwd='123456',db='oms_book',port=3306,charset='utf8')
cur=conn.cursor()
sql ='''
SELECT
t1.order_id,
t1.total_fee,
t2.detail_total,
t1.post_fee,
t1.shop_code,
t1.payment
FROM
order t1
INNER JOIN (
SELECT
SUM(total_fee) detail_total,
order_id
FROM
oms_order_detail
GROUP BY
order_id
) t2 ON t1.order_id = t2.order_id
WHERE
t1.total_fee < t2.detail_total
AND (
t1.shop_code = 'vip'
OR t1.shop_code = 'club'
)
'''
count = cur.execute(sql)
print count
orders = cur.fetchall()
for order in orders:
order_id = order[0]
total_fee = order[1]
detail_total = order[2]
post_fee = order[3]
payment = order[5]
print "orderInfo order_id: %s, total_fee:%s, detail_total:%s, post_fee:%s, payment:%s" %(order_id,total_fee,detail_total,post_fee,payment)
discount_fee = detail_total - payment + post_fee
update_sql = "update order set total_fee = %s ,discount_fee = %s WHERE order_id = '%s'" % (detail_total,discount_fee,order_id)
print update_sql
cur.execute(update_sql)
conn.commit()
cur.close()
conn.close()
except MySQLdb.Error,e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])