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()