import pymysql
import decimal
import datetime
import json
import LogPackage
import logging
import os
logs=LogPackage.Logger(filename='log.txt',path=1,driver_path=os.getcwd())
logs.Log()
logger=logging.getLogger(__name__)
__description__='Finding the data in the same database'
class DecimalEncoder(json.JSONEncoder):
def default(self,obj):
if isinstance(obj,decimal.Decimal):#decimal类型转换,使其可以转换为json格式数据
return float(obj)
elif isinstance(obj,datetime.datetime):#datetime类型转换,使其可以转换为json格式数据
return obj.__str__()
return super(DecimalEncoder,self).default(obj)
class RUNSQL(object):
def run_sql(self):
db=pymysql.connect(host='服务器地址',port=3306,user='用户名',password='密码',db='数据库名称',charset='utf8')
self.cursor1=db.cursor()
self.cursor2=db.cursor()
self.cursor1.execute('desc osc_order;')#获取字段属性默认值
self.cursor2.execute("SELECT * FROM osc_order WHERE customer_id='47001930' and status_name in('订单已收已付') order by created_at DESC")
db.close()
def sql_test(self):
self.run_sql()
index=self.cursor1.fetchall()
print(index)
result=[]
row={}
for res in self.cursor2.fetchall():
for i in range(len(index)):
row[index[i][0]]=res[i]
result.append(row)
# print(result)
for line in result:
print(line)
print(json.dumps(result,cls=DecimalEncoder,indent=4,ensure_ascii=False,sort_keys=True))#输出的是字符串
# for data in self.cursor.fetchall():
# print(data)
if __name__=='__main__':
s=RUNSQL()
s.sql_test()
操作mysql,获取字段属性值,并输出表数据
最新推荐文章于 2024-09-04 16:18:29 发布