python的数据库操作

python的数据库操作

1.安装pythoin-pip

yum install python-pip

2.安装mysql连接驱动

pip install mysql-connector

实例代码

import mysql.connector
import serverConf


class MysqlPack:


where = ''

where_value = []

conn = ''

#instance
def __init__(self):
    if(self.conn == ''):
        self.conn =  mysql.connector.connect(user=serverConf.server_conf['mysql_user'], password=serverConf.server_conf['mysql_password'], database=serverConf.server_conf['mysql_database'])
        pass
    pass

#load condition
def condition(self,where_str,value):
    self.where += str(where_str)
    self.where_value.append(str(value))
    return self
    pass

#search
def search(self,table_name,field_str='*'):
    begin = self.conn.cursor()
    begin.execute("select "+str(field_str)+" from "+str(table_name) + self.where,tuple(self.where_value))
    list_value = begin.fetchall()
    self.where = ''
    self.where_value = []
    self.conn.commit()
    begin.close()
    return list_value
    pass

#add
def add(self,table_name,insertValue = {}):
    begin = self.conn.cursor()

    table_key = []

    table_value = []

    for key in insertValue:
        table_key.append(str(key))
        table_value.append(str(insertValue[key]))
        pass

    sql_key = "`,`".join(table_key)
    sql_value = "','".join(table_value)
    begin.execute("INSERT INTO "+str(table_name)+" (`"+sql_key+"`) VALUES ('"+sql_value+"')")
    addCount = begin.rowcount
    self.conn.commit()
    begin.close()
    return addCount
    pass

#close update
def update(self,table_name,updateValue):
    begin = self.conn.cursor()

    table_key = []

    for key in updateValue:
        set_condition = "`"+str(key)+"` = '"+str(updateValue[key])+"'"
        table_key.append(set_condition)
        pass

    sql_key = "`,`".join(table_key)
    begin.execute("UPDATE "+str(table_name)+" SET "+sql_key+" "+str(self.where),tuple(self.where_value))
    self.where = ''
    self.where_value = []
    self.conn.commit()
    begin.close()
    pass

#close connection
def close_connection(self):
    self.conn.close()
    self.conn = ''
    pass

pass

使用案例(cur)

这里我没有删除操作因为我一直喜欢用逻辑删除,不喜欢用delete真删除

import MysqlPack
mysqlObject = MysqlPack.MysqlPack()
mysqlObject.add('aa',{'name':333})

mysqlObject.condition(" WHERE id = %s",1).update('aa',{'name':444})

result = mysqlObject.condition(" WHERE id = %s",1).condition(" and name=%s","zhanglei").search('aa')
print result
exit()

猜你喜欢

转载自blog.csdn.net/qq_32783703/article/details/80300774