zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    SPOJ SAMER08A
    SPOJ TRAFFICN
    CS Academy Set Subtraction
    CS Academy Bad Triplet
    CF Round 432 C. Five Dimensional Points
    CF Round 432 B. Arpa and an exam about geometry
    SPOJ INVCNT
    CS Academy Palindromic Tree
    身体训练
    简单瞎搞题
  • 原文地址:https://www.cnblogs.com/we8fans/p/8074918.html
Copyright © 2011-2022 走看看