首页 > 数据库 >mysql数据库连接:返回list和dict格式

mysql数据库连接:返回list和dict格式

时间:2024-04-06 19:58:00浏览次数:26  
标签:__ self mysql list 游标 cursor dict sql

import pymysql
from api.conf.setting import mysql_info
class HandleDb:
    def __init__(self):
        # 连接数据库
        self.conn = pymysql.connect(host=mysql_info["host"],  # mysql服务器ip或者域名
                                    user=mysql_info["user"],  # 用户名
                                    password=mysql_info["password"],  # 密码
                                    db=mysql_info["db"],  # 连接的数据库名
                                    autocommit=True,  # 自动提交连接对象
                                    port=3306,  # 数据库端口号
                                    charset='utf8',  # 数据库编码为utf8,不能写为utf-8
   # 默认返回的结果为元祖或者嵌套元祖的列表
   # 可以指定cursorclass为DictCursor,那么返回的结果为字典或者嵌套字典的列表
                                    cursorclass=pymysql.cursors.DictCursor
                                    )
        # 2、创建游标对象
        self.cursor = self.conn.cursor()
    # 查询结果value的值将其生成列表
    def get_data(self, sql):
        value_list = []
        # 3、使用游标对象执行sql语句
        self.cursor.execute(sql)
        # 4、使用fetchall获取所有结果,返回的是嵌套字典的字典
        result = self.cursor.fetchall()
        # self.cursor.fetchone()
        for key in result:
            for val in key.values():
                value_list.append(val)
        return value_list
    def get_data_dict(self, sql):
        # 3、使用游标对象执行sql语句
        self.cursor.execute(sql)
        # 4、使用fetchall获取所有结果,返回的是嵌套字典的字典
        result = self.cursor.fetchall()
        return result
    # 6、一定要关闭游标和连接
    # 先关闭游标对象,然后关闭连接对象
    def db_close(self):
        # 关闭游标
        self.cursor.close()
        # 关闭连接
        self.conn.close()
# 实例化用于关闭数据库连接
mysql = HandleDb()
if __name__ == '__main__':
    cl = HandleDb()
    # sql = "select * from tz_attach_file where file_path ='2024/03/c2876474841b479dab280a9b1cfc63a2.png'"
    sql = "select mobile_code from tz_sms_log where user_phone = '18711277355' order by id desc limit 1"
    print(cl.get_data_dict(sql), type(cl.get_data_dict(sql)))
    cl.db_close()

 

标签:__,self,mysql,list,游标,cursor,dict,sql
From: https://www.cnblogs.com/python-test001/p/18117821

相关文章

  • MySQL多表联合查询实例
    DDL——学生表,课程表CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`......
  • 【漏洞复现】畅捷通T+ KeyInfoList.aspx SQL注入漏洞
                         免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使......
  • MySQL中的逻辑运算符,位运算符
    转自:https://blog.csdn.net/Sihang_Xie/article/details/125480206一、 逻辑运算符MySQL中支持4种逻辑运算符:运算符作用NOT或!逻辑非AND或&&逻辑与OR或||逻辑或XOR逻辑异或以上4种逻辑运算符都非常简单,如果有其他编程语言的基础,看一下以下的例......
  • 【包远程安装运行】SpringBoot+Mysql实现的在线兼职实习招聘管理系统源码+运行教程+开
    今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的在线招聘系统,主要实现了在线招聘基本操作流程的全部功能,系统分普通用户、管理员等角色,除基础脚手架外,实现的功能有:管理员:系统管理、职位管理、新闻咨询管理、简历投递管理、在线统计等。普通用户(......
  • 【包远程安装运行】:SpringBoot+Mysql健身房在线预约管理系统源码+运行视频+开发文档(参
    今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的健身房在线预约管理系统,系统分四个角色,管理员,职工、教练、前台用户,各角色功能如下:管理员:系统管理(角色、权限、菜单等)、职工管理、健身会员管理、会员充值管理、健身项目管理、健身百科管理、健身......
  • 基于SSM+Jsp+Mysql的个性化影片推荐系统
    开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示系统首页用户注册用户登录热门电影个人中心我的收藏新闻资讯管理员登录管理员首页用户管......
  • 使用Python插入100万条数据到MySQL数据库并将数据逐步写出到多个Excel
    Python插入100万条数据到MySQL数据库步骤一:导入所需模块和库首先,我们需要导入MySQL连接器模块和Faker模块。MySQL连接器模块用于连接到MySQL数据库,而Faker模块用于生成虚假数据。importmysql.connector#导入MySQL连接器模块fromfakerimportFaker#导入......
  • 阿里云安装Mysql数据库
    阿里云安装mysql数据库安装数据库&创建数据库用户参照以下步骤在Linux实例中安装MySQL数据库新建数据库实例上述文章止步于新建数据库用户,下面是心间数据库实例的操作。mysql-ulhkTest-p登陆mysql(lhkTest是用户名)showdatabases;查询已有数据库createdatabasehome_......
  • mysql小结
    distinct:去重复值......
  • Rancher-rke: E0404 14:22:44.616099 5841 memcache.go:287] couldn‘t get resource
    一、根因    1、非正常关闭了主机。    2、导致docker上的metrics容器进程挂掉。二、解决办法    1、重启docker        systemctlrestartdocker    2、清理处于Exited状态的pod        dockerrm`dockerps-a|......