#encoding=utf-8
from django.http importHttpResponsefrom anyjson importserializefrom django.http importHttpResponsefrom anyjson importserializeimportMySQLdbdefsafe(s):returnMySQLdb.escape_string(s)defget_i_sql(table, dict):'''生成insert的sql语句
@table,插入记录的表名
@dict,插入的数据,字典'''sql= 'insert into %s set' %table
sql+=dict_2_str(dict)returnsqldef get_s_sql(table, keys, conditions, isdistinct=0):'''生成select的sql语句
@table,查询记录的表名
@key,需要查询的字段
@conditions,插入的数据,字典
@isdistinct,查询的数据是否不重复'''
ifisdistinct:
sql= 'select distinct %s' % ",".join(keys)else:
sql= 'select %s' % ",".join(keys)
sql+= 'from %s' %tableifconditions:
sql+= 'where %s' %dict_2_str_and(conditions)returnsqldefget_u_sql(table, value, conditions):'''生成update的sql语句
@table,查询记录的表名
@value,dict,需要更新的字段
@conditions,插入的数据,字典'''sql= 'update %s set' %table
sql+=dict_2_str(value)ifconditions:
sql+= 'where %s' %dict_2_str_and(conditions)returnsqldefget_d_sql(table, conditions):'''生成detele的sql语句
@table,查询记录的表名
@conditions,插入的数据,字典'''sql= 'delete from %s' %tableifconditions:
sql+= 'where %s' %dict_2_str_and(conditions)returnsqldefdict_2_str(dictin):'''将字典变成,key='value',key='value' 的形式'''tmplist=[]for k, v indictin.items():
tmp= "%s='%s'" %(str(k), safe(str(v)))
tmplist.append(' ' + tmp + ' ')return ','.join(tmplist)defdict_2_str_and(dictin):'''将字典变成,key='value' and key='value'的形式'''tmplist=[]for k, v indictin.items():
tmp= "%s='%s'" %(str(k), safe(str(v)))
tmplist.append(' ' + tmp + ' ')return 'and'.join(tmplist)