返回顶部
首页 > 资讯 > 数据库 >python 操作mysql数据中fetchone()和fetchall()方式
  • 251
分享到

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

pythonmysqlfetchonefetchall 2022-05-24 09:05:02 251人浏览 薄情痞子
摘要

fetchone() 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None fetchall() 返回多个元组,即返回多个记录(rows),如果没有结果 则返回 () 需要注明:在Mysql中

fetchone()

返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None

fetchall()

返回多个元组,即返回多个记录(rows),如果没有结果 则返回 ()

需要注明:在Mysql中是NULL,而在python中则是None

补充知识:python之cur.fetchall与cur.fetchone提取数据并统计处理

数据库中有一字段type_code,有中文类型和中文类型编码,现在对type_code字段的数据进行统计处理,编码对应的字典如下:


{'ys4ng35toofdviy9ce0pn1uxw2x7trjb':'娱乐',
  'vekgqjtw3ax20udsniycjv1hdsa7t4oz':'经济',
  'vjzy0fobzgxkcnlbrsduhp47f8pxcoaj':'军事',
  'uamwbfqlxo7bu0warx6vkhefigkhtoz3':'政治',
  'lyr1hbrnmg9qzvwuzlk5fas7v628jiqx':'文化',
 }

其中数据库的32位随机编码生成程序如下:

string.ascii_letters 对应字母(包括大小写), string.digits(对应数字) ,string.punctuation(对应特殊字符)


import string
import random
 
def get_code():
 return ''.join(random.sample(string.ascii_letters + string.digits + string.punctuation, 32))
print(get_code())
 
def get_code1():
 return ''.join(random.sample(string.ascii_letters + string.digits, 32))
testresult= get_code1()
print(testresult.lower())
print(type(testresult))

结果:


)@+t37/b|UQ[K;!spj<(>%r9"PokwTe=
igwle98kgqtcprke7byvq12xnhucmz4v
<class 'str'>

cur.fetchall:


import pymysql
import pandas as pd
 
conn = pymysql.Connect(host="127.0.0.1",port=3306,user="root",passWord="123456",charset="utf8",db="sql_prac")
 
cur = conn.cursor()
print("连接成功")
sql = "SELECT type_code,count(1) as num FROM test GROUP BY type_code ORDER BY num desc"
 
cur.execute(sql)
res = cur.fetchall()
print(res)

(('ys4ng35toofdviy9ce0pn1uxw2x7trjb', 8), ('vekgqjtw3ax20udsniycjv1hdsa7t4oz', 5), ('vjzy0fobzgxkcnlbrsduhp47f8pxcoaj', 3), ('uamwbfqlxo7bu0warx6vkhefigkhtoz3', 3), ('娱乐', 2), ('lyr1hbrnmg9qzvwuzlk5fas7v628jiqx', 1), ('政治', 1), ('经济', 1), ('军事', 1), ('文化', 1))

res = pd.DataFrame(list(res), columns=['name','value'])
print(res)


dicts = {'ys4ng35toofdviy9ce0pn1uxw2x7trjb':'娱乐',
  'vekgqjtw3ax20udsniycjv1hdsa7t4oz':'经济',
  'vjzy0fobzgxkcnlbrsduhp47f8pxcoaj':'军事',
  'uamwbfqlxo7bu0warx6vkhefigkhtoz3':'政治',
  'lyr1hbrnmg9qzvwuzlk5fas7v628jiqx':'文化',
  }
res['name'] = res['name'].map(lambda x:dicts[x] if x in dicts else x)
print(res)

 name value
0 娱乐  8
1 经济  5
2 军事  3
3 政治  3
4 娱乐  2
5 文化  1
6 政治  1
7 经济  1
8 军事  1
9 文化  1

#分组统计
result = res.groupby(['name']).sum().reset_index()
print(result)

 name value
0 军事  4
1 娱乐  10
2 政治  4
3 文化  2
4 经济  6

#排序
result = result.sort_values(['value'], ascending=False)


 name value
1 娱乐  10
4 经济  6
0 军事  4
2 政治  4
3 文化  2

#输出为list,前端需要的数据格式
data_dict = result.to_dict(orient='records')
print(data_dict)

[{'name': '娱乐', 'value': 10}, {'name': '经济', 'value': 6}, {'name': '军事', 'value': 4}, {'name': '政治', 'value': 4}, {'name': '文化', 'value': 2}]

cur.fetchone

测试SQL:

代码:


import pymysql
import pandas as pd
 
conn = pymysql.Connect(host="127.0.0.1",port=3306,user="root",password="123456",charset="utf8",db="sql_prac")
 
cur = conn.cursor()
print("连接成功")
sql = "select count(case when type_code in ('ys4ng35toofdviy9ce0pn1uxw2x7trjb','娱乐') then 1 end) 娱乐," \
  "count(case when type_code in ('vekgqjtw3ax20udsniycjv1hdsa7t4oz','经济') then 1 end) 经济," \
  "count(case when type_code in ('vjzy0fobzgxkcnlbrsduhp47f8pxcoaj','军事') then 1 end) 军事," \
  "count(case when type_code in ('uamwbfqlxo7bu0warx6vkhefigkhtoz3' ,'政治') then 1 end) 政治," \
  "count(case when type_code in ('lyr1hbrnmg9qzvwuzlk5fas7v628jiqx','文化') then 1 end) 文化 from test"
cur.execute(sql)
res = cur.fetchone()
print(res)

返回结果为元组:

(10, 6, 4, 4, 2)


data = [
    {"name": "娱乐", "value": res[0]},
    {"name": "经济", "value": res[1]},
    {"name": "军事", "value": res[2]},
    {"name": "政治", "value": res[3]},
    {"name": "文化", "value": res[4]}
]
result = sorted(data, key=lambda x: x['value'], reverse=True)
print(result)

结果和 cur.fetchall返回的结果经过处理后,结果是一样的:

[{'name': '娱乐', 'value': 10}, {'name': '经济', 'value': 6}, {'name': '军事', 'value': 4}, {'name': '政治', 'value': 4}, {'name': '文化', 'value': 2}]

以上这篇Python 操作mysql数据中fetchone()和fetchall()方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。

您可能感兴趣的文档:

--结束END--

本文标题: python 操作mysql数据中fetchone()和fetchall()方式

本文链接: https://lsjlt.com/news/9579.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python 操作mysql数据中fetchone()和fetchall()方式
    fetchone() 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None fetchall() 返回多个元组,即返回多个记录(rows),如果没有结果 则返回 () 需要注明:在MySQL中...
    99+
    2022-05-24
    python mysql fetchone fetchall
  • python操作数据库获取结果之fetchone和fetchall的区别说明
    每次使用python获取查询结果的时候,都会纠结一段时间到底用fetchone和fetchall,用不好容易报错,关键在于没有搞清楚它们之间的区别和使用场景。 fetchone与fe...
    99+
    2024-04-02
  • Python从Oracle数据库中获取数据——fetchall(),fetchone(),fetchmany()函数功能分析
    Python从Oracle数据库中获取数据——fetchall(),fetchone(),fetchmany()函数功能分析 一、fetchall(),fetchone(),fetchmany()简单...
    99+
    2023-10-03
    数据库 oracle python
  • Python 操作 MySQL数据库
    开发环境与配置 win_x64 Ubuntu14.04 Python3.x pip安装pymysql模块 直接使用pip安装 pip install pymysql win64上直接在cmd中执...
    99+
    2022-05-30
    Python 操作 MySQL python MySQL
  • python操作mysql数据库
    一、数据库基本操作 1. 想允许在数据库写中文,可在创建数据库时用下面命令 create database zcl charset utf8; 2. 查看students表结构 desc students;...
    99+
    2022-06-04
    操作 数据库 python
  • Python——操作MySQL数据库
    😊Python——操作MySQL数据库 🚀前言🔍数据库编程🍭数据库编程基本介绍🍭数据库编程接口🍭...
    99+
    2023-09-15
    数据库 python mysql
  • Python 操作 MySQL 数据库
    Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。 Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...
    99+
    2023-09-01
    adb
  • python 操作MySQL数据库
    1.connect def conn(ip,user,password,database): con = mdb.connect(ip,user,password,database) cur = con.cursor() ...
    99+
    2023-01-31
    操作 数据库 python
  • Python操作ES的方式及与Mysql数据同步的方法
    这篇文章主要介绍了Python操作ES的方式及与Mysql数据同步的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python操作ES的方式及与Mysql数据同步的方法文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-06-30
  • 使用Python操作MySql数据库和MsSql数据库
    目录一、MySQL数据库模块的安装和连接1、 PyMySQL模块的安装2 、python连接数据库二、创建表操作三、操作数据1、插入操作2、 查询操作3、 更新操作4、 删除操作四、...
    99+
    2024-04-02
  • Python中MySQL数据库如何操作
    今天就跟大家聊聊有关Python中MySQL数据库如何操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  Python标准数据库接口为Python...
    99+
    2024-04-02
  • python中怎么操作mysql数据库
    在Python中操作MySQL数据库,可以使用官方提供的mysql-connector-python库或者第三方库pymysql。 ...
    99+
    2024-04-09
    python mysql
  • Python操作使用MySQL数据库方法
    下面一起来了解下Python操作使用MySQL数据库方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望Python操作使用MySQL数据库方法这篇短内容是你想要的。一,安装mysql 如果是w...
    99+
    2024-04-02
  • Python操作数据库之 MySQL
    Python操作数据库之MySQL   一、安装Python-MySQLdb模块Python-MySQLdb是一个操作数据库的模块,Python 通过它对 mysql 数据实现...
    99+
    2024-04-02
  • python 操作mysql 数据库 安
    win10 系统 64 位 python 需要连接Mysql 数据库 、使用pip 安装 mysql-python ,安装一直报错。找不到包依赖之类的、于是下载 直接 下载 mysql-python windows 下面的.exe 安装程序...
    99+
    2023-01-31
    操作 数据库 python
  • MySQL 数据库和表操作
    -- 创建数据库 -- 创建 classroom 数据库 create database 数据库名 default character set 字符编码 collate 排序规则;   ...
    99+
    2024-04-02
  • 怎么在Python中操作MySQL数据库
    今天就跟大家聊聊有关怎么在Python中操作MySQL数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、W...
    99+
    2023-06-14
  • python操作mysql数据库的方法介绍
    下面讲讲关于python操作mysql数据库的方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完python操作mysql数据库的方法这篇文章你一定会有所受益。 &n...
    99+
    2024-04-02
  • 浅谈MYSQL中数据类型和操作数据表
    小编这次要给大家分享的是浅谈MYSQL中数据类型和操作数据表,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。数据类型和操作数据表1.1 MySQL类型之整型1.2 My...
    99+
    2024-04-02
  • MSSQL转MySQL数据库的实际操作方式
    这篇文章主要介绍“MSSQL转MySQL数据库的实际操作方式”,在日常操作中,相信很多人在MSSQL转MySQL数据库的实际操作方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作