【问题标题】:Python SQL query to retrieve data from relational DB用于从关系数据库中检索数据的 Python SQL 查询
【发布时间】:2015-10-05 09:56:20
【问题描述】:

我有以下数据库表:

SENSORS: sensor_id, type_id, location_id, pin_id
SENSOR_TYPES:type_id, type_name, parameter
LOCATIONS: location_id, room
PI_PINS: pin_id, broadcom, wiring_pi, description

SENSORS 和其他三个表之间已经通过 x_id 字段建立了关系。

如何构建 python 代码来运行 SQL 查询,该查询将返回包含 {sensor_id:type_name} 的 dict?我认为以下查询应该可以工作,但我不确定如何将其包装在 python 中以返回一个字典。

SELECT sensors.sensor_id, sensor_types.type_name
FROM sensors
INNER JOIN sensor_types
ON sensors.type_id=sensor_types.type_id

【问题讨论】:

    标签: python mysql relational-database mariadb


    【解决方案1】:

    好的,原来有一个字典光标。为了后代,这是我的工作代码:

    #!/usr/bin/env python
    
    import MySQLdb
    
    # Open databse connection
    db = MySQLdb.connect(host="****",user="****",passwd="****",db="****")
    
    #Prepare a cursor object using cursor() method
    cur = db.cursor(MySQLdb.cursors.DictCursor)
    
    #Execute SQL query using execute() method
    cur.execute("SELECT sensor_id, sensor_types.type_name FROM sensors INNER JOIN sensor_types ON sensors.type_id=sensor_types.type_id")
    
    #Fetch the results
    data = cur.fetchall()
    
    #Print out results
    for row in data:
        print row["sensor_id"],row["type_name"]
    
    #Disconnect from server
    db.close()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-08
      • 2014-06-29
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      相关资源
      最近更新 更多