自己写的python操作mysql函数库(新手级别)

# -*- coding: utf-8 -*-
import sys
import MySQLdb
reload(sys)
sys.setdefaultencoding('utf-8')

try:
    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='shinow!123',db='captcha',charset="UTF8")
    #conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='zkeys',db='datastore',charset="UTF8")
except Exception,e:
    print e

def insert_one(table_name,*data):
    #print data
    global conn
    cursor = conn.cursor()
    data = data[0]
    #print data.values()
    fields = ",".join(data.keys())
    #vals = ",".join(data.values())
    vals = []
    for x in data.values():
        vals.append("'"+str(x)+"'")
    valstr = ",".join(vals)
    sql = "INSERT INTO %s (%s) values (%s)" % (table_name,fields,valstr)
    #print sql
    try:
        s = cursor.execute(sql)
        conn.commit()
        return s
    except MySQLdb.Error,e:
        print "Mysql Error %d: %s" % (e.args[0], e.args[1])

def select_data(sql,mode="single"):
    global conn
    cursor = conn.cursor()
    cursor.execute(sql)
    if mode == 'single':
        return cursor.fetchone()
    else:
        return cursor.fetchall()

def update_by_pk(tb,pk,*vals):
    global conn
    cursor = conn.cursor()
    vals = vals[0]
    set_str = []
    for k,v in vals.iteritems():
        set_str.append(k+"="+str(v))
    set_str = ",".join(set_str)
    sql = "UPDATE %s SET %s WHERE id = %d" % (tb,set_str,pk)
    #print sql
    #exit(-1)
    try:
        s = cursor.execute(sql)
        conn.commit()
        return s
    except MySQLdb.Error,e:
        print "Mysql Error %d: %s" % (e.args[0], e.args[1])

def insert_many_data(tb,*field):
    global conn
    cursor = conn.cursor()
    fields = ",".join(field[0])
    data = field[1]
    sql = "INSERT INTO "+tb+" ("+fields+") values (%s,%s,%s,%s,%s,%s)"
    cursor.executemany(sql,data)
    cursor.close()
    conn.commit()
    conn.close()


def close_db():
    global conn
    if conn:
        conn.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值