zoukankan      html  css  js  c++  java
  • python 链接mysql数据库,进行sql查询

     一、需要在.env中配置数据库的主机地址,账号,密码,端口号等信息

    二、写查询函数

    from django.db.utils import ConnectionHandler 

    connections = ConnectionHandler()





    def rule_dos(self): """ 拿到rule中剂型name与id的对应关系 """ with connections['default'].cursor() as cr: cr.execute(""" select t1.id,t1.name from mdd_rule.knowledge_dosageform as t1 where TRUE """) rows = cr.fetchall() # 拿到所有数据 dic = {} for i in rows: dic[i[1]] = i[0] return dic

    fetchone() :

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


    fetchone()用法:

    cur.execute("select host,user,password from user where user='%s'" %acc)
    jilu = cur.fetchone() ##此时 通过 jilu[0],jilu[1],jilu[2]可以依次访问host,user,password


    fetchall() :

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

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

    fetchall()用法:

    cur.execute("select * from user")

    如果select本身取的时候有多条数据时:

    cursor.fetchone():将只取最上面的第一条结果,返回单个元组如('id','title'),然后多次使用cursor.fetchone(),依次取得下一条结果,直到为空。

    cursor.fetchall() :将返回所有结果,返回二维元组,如(('id','title'),('id','title')),

    如果select本身取的时候只有一条数据时:

    cursor.fetchone():将只返回一条结果,返回单个元组如('id','title')。

    cursor.fetchall() :也将返回所有结果,返回二维元组,如(('id','title'),),

    python在mysql在使用fetchall或者是fetchone时,综合起来讲,fetchall返回二维元组(元组中含有元组),fetchone只返回一维元组

  • 相关阅读:
    修改input标签输入样式
    CSS3的transform 转换
    前端小知识--区分get和post请求
    JS面向对象--你真的理解闭包了吗?
    px,em,rem的区别
    傻瓜式教程--实现登录页面的验证码以及验证(VUE)
    基于RBAC权限管理的后台管理系统
    在VUE中实现打印
    关于三层架构的好文章
    RabbitMQ常用命令、管理界面
  • 原文地址:https://www.cnblogs.com/ltyc/p/15261559.html
Copyright © 2011-2022 走看看