Python MYSQLdb操作数据库

来源:互联网 发布:h5开心农场源码 编辑:程序博客网 时间:2024/04/30 08:44

测试Linux是否安装MYSQLdb,如果没有请安装,具体测试及安装方法见我的上一篇文章

http://blog.csdn.net/tlk20071/article/details/51746483


操作mysql数据库代码如下:

# coding: utf-8import MySQLdbtry:    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])


0 0