,,python 操作mysql数据中fetchone()和fetchall()方式

,,python 操作mysql数据中fetchone()和fetchall()方式

这篇文章主要介绍了大蟒操作关系型数据库数据中费特乔内()和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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: