这篇文章主要介绍了大蟒操作关系型数据库数据中费特乔内()和fetchall()方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
费特乔内()
返回单个的元组,也就是一条记录(排),如果没有结果则返回没有人
fetchall()
返回多个元组,即返回多个记录(行),如果没有结果则返回()
需要注明:在关系型数据库中是空,而在计算机编程语言中则是没有人
补充知识:python之cur.fetchall与cur.fetchone提取数据并统计处理
数据库中有一字段类型代码,有中文类型和中文类型编码,现在对类型代码字段的数据进行统计处理,编码对应的字典如下:
{ ' ys 4 ng 35 tofd viy 9 ce 0 pn 1 UX w2 x7 trjb ':'娱乐,
vekgqjtw3ax 20 udsniycjv 1 hdsa 7t 4 oz ':经济,
vjzy 0 fobzgxkcnlbrsduhp 47 F8 px coaj ':'军事,
' uamwbfqlxo 7 bu 0 warx 6 vkhefigkhtoz 3 ':'政治,
' lyr 1 HBR nmg 9 qzvwuzlk 5 Fas 7v 628 jiqx ':文化,
}
其中数据库的32位随机编码生成程序如下:
字符串。_字母对应字母(包括大小写),string.digits(对应数字),字符串。标点符号(对应特殊字符)
导入字符串
随机导入
定义获取代码():
返回""。加入(随机。样本(字符串。ascii _字母字符串。数字字符串。标点符号,32))
print(get_code())
def get_code1():
返回""。加入(随机。样本(字符串。ascii _字母字符串。数字,32))
testresult=get_code1()
打印(testresult.lower())
打印(类型(测试结果))
结果:
)@ t37/b | UQ[K;spj(%r9'PokwTe=
igw le 98 kgqtcprke 7 byvq 12 xnhucmz 4v
类别" str "
当前fetchall:
导入pymysql
进口熊猫作为螺纹中径
conn=pymysql .连接(主机='127.0.0.1 ',端口=3306,用户='root ',密码='123456 ',字符集='utf8 ',数据库='sql_prac ')
cur=conn.cursor()
打印('连接成功)
sql='SELECT type_code,count(1)as num FROM test GROUP BY type _ code ORDER BY num desc '
当前执行(sql)
res=cur.fetchall()
打印(分辨率)
(' ys 4 ng 35 toofdviy 9 ce 0 pn 1 uxw 2 x 7 trjb ',8),(' vekgqjtw 3 ax 20 udsniycjv 1 hdsa 7t 4 oz ',5),(' vjzy 0 fobzgxkcnlbrsduhp 47 f 8 px coaj ',3),(' uamwbfqlxo 7 bu 0 warx 6 vkhefigkhtoz 3 ',3),('娱乐,2),(' lyr 1 HBR nmg 9 qzvwuzlk 5 Fas 7v 628 jiqx ',1),('政治', 1), ('经济', 1), ('军事', 1), ('文化', 1))
res=pd .DataFrame(list(res),columns=['name ',' value'])
打印(分辨率)
' UX w2 x7 trjb ':'娱乐,
vekgqjtw3ax 20 udsniycjv 1 hdsa 7t 4 oz ':经济,
vjzy 0 fobzgxkcnlbrsduhp 47 F8 px coaj ':'军事,
' uamwbfqlxo 7 bu 0 warx 6 vkhefigkhtoz 3 ':'政治,
' lyr 1 HBR nmg 9 qzvwuzlk 5 Fas 7v 628 jiqx ':文化,
}
res['名称]=res['名称']。map(lambda x:dicts[x]if x in dicts else x)
打印(分辨率)
名字值
0 娱乐8
一经济5
2军事3
3政治3
四娱乐2
5文化一
6 政治一
七经济一
8军事一
9 文化一
#分组统计
result=res.groupby(['name']).sum().重置索引()
打印(结果)
名字值
0 军事四
一娱乐10
2政治四
3文化2
四经济6
#排序
结果=结果。sort _ values([' value '],升序=假)
名字值
一娱乐10
四经济6
0 军事四
2政治四
3文化2
#输出为列表,前端需要的数据格式
data _ dict=结果。to _ dict(orient=' records ')
打印(数据字典)
[{ '姓名': '娱乐,'值':10},{ '名称': '经济,'值':6},{ '名称': '军事,'值':4},{ '名称': '政治,'值':4},{ '名称': '文化,' value': 2}]
cur.fetchone
先测试SQL:
代码:
导入pymysql
进口熊猫作为螺纹中径
conn=pymysql .连接(主机='127.0.0.1 ',端口=3306,用户='root ',密码='123456 ',字符集='utf8 ',数据库='sql_prac ')
cur=conn.cursor()
打印('连接成功)
SQL=' select count(type _ code in(' ys 4 ng 35 toofdviy 9 ce 0 pn 1 UX w2 x7 trjb ','娱乐)然后一结束)娱乐,' \
count(type _ code in(' vekgqjtw3ax 20 udsniycjv 1 hdsa 7t 4 oz ','时的大小写经济)然后一结束)经济,' \
count(type _ code in(' vjzy 0 fobzgxkcnlbrsduhp 47 f 8 px coaj ','时的大小写军事)然后一结束)军事,' \
count(type _ code in(' uamwbfqlxo 7 bu 0 warx 6 vkhefigkhtoz 3 ','时的大小写政治)然后一结束)政治,' \
count(type _ code in(' lyr 1 HBR nmg 9 qzvwuzlk 5 Fas 7v 628 jiqx ','时的大小写文化)然后一结束)文化'来自测试'
当前执行(sql)
res=cur.fetchone()
打印(分辨率)
结果作为元组返回:
(10, 6, 4, 4, 2)
数据=[
{'name':' entertainment ',' value': res[0]}
{'name':' economy ',' value': res[1]}
{'name':' military ',' value': res[2]},
{'name':' politics ',' value': res[3]},
{'name':' culture ',' value': res[4]}
]
结果=已排序(data,key=lambda x: x['value'],reverse=True)
打印(结果)
处理后的结果与cur.fetchall返回的结果相同:
[{'name':' entertainment ',' value': 10},{'name':' economy ',' value': 6},{'name':' military ',' value': 4},{'name':' politics ',' value': 4
上面mysql数据中fetchone()和fetchall()的python操作就是边肖分享的全部内容。希望能给你一个参考,多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。