• Python使用Mysql官方驱动(取出dict类型的数据)


    简介

    虽然Python有很多连接mysql的库,比如mysqldb, pymysql~这些都很方便,现在就教大家使用mysql的官方库来操作mysql.

    安装

    windows: 下载链接

    image.png

    选择自己的windows版本和Python版本,下载msi文件后双击安装即可。
    (如果在网站没找到msi版本的话,试下pip install mysql-connector-python)

    mac os:

    在终端运行:
    pip3 install mysql-connector-python

    image.png

    使用

    在写文章的时候,特意去看了一下官方给的参数配置,看到passwd和password这种参数都能识别,因为官方为别的mysql库做了兼容,赞一个~~
    接下来就展示demo了,不过没有做封装处理哦~

    import mysql.connector as mysql
    
    # 连接数据库, 此处可指定dbname, 但是因为需要关联到其他库的表,所以未填
    conn = mysql.connect(host="127.0.0.1", port=3306, user="root", passwd="your_pwd")
    
    # 获取游标
    cursor = conn.cursor()    
    
    # 查询, 例如查询logistics.users表的所有信息
    sql = "select * from users;"
    cursor.execute(sql)
    # 取出该查询语句返回的所有结果, 也有fetchone和fetchmany方法
    cursor.fetchall() 
    
    # 删除
    sql = "delete from logistics.users where username=%s" 
    cursor.execute(sql, params=("woody", ))      # params参数为一个元祖, %s用于接收此参数
    cursor.commit()      # 增删改此种操作之后需要commit
    
    # 关闭连接
    cursor.close()
    conn.close()
    
    
    

    最近的小发现

    因为需要比对redis里存储的json数据是否与sql数据一致,但是由于sql取出的数据是元祖类型,而且没有对应的字段名,所以很是头疼。

    解决办法:

    获取游标的时候添加一个参数!!!

    cursor = conn.cursor(dictionary=True)
    

    效果图

    image.png

  • 相关阅读:
    [ES6] Objects create-shorthand && Destructuring
    [ES6] Spread Operator
    [ES6] Rest Parameter
    [ES6] Function Params
    [React] Extracting Private React Components
    [Javascript] Array methods in depth
    生物-大脑极限:大脑极限
    生物-永生计划:永生计划
    物理-纳米技术-纳米技术应用:纳米技术应用
    物理-纳米技术:纳米技术
  • 原文地址:https://www.cnblogs.com/we8fans/p/8074918.html
Copyright © 2020-2023  润新知