<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

        部分公司出于安全,數據表過于復雜亦或者是其他方面的考慮,往往會希望直接用pymysql寫原生sql語句去編寫后臺代碼而不是使用orm之類技術去實現數據的獲取。但是如此做的話,就會把數據庫查詢的結果作為請求的參數,但是原生sql返回的字段往往是元組嵌套元組結果集的形式,即((1,3),(2,3)),其中內嵌的兩個元組即我們查詢的結果集的值。這樣會導致我們無法準確的獲取值所對應的關鍵字。并且獲取的值只能受限元組的順序,無法靈活應用不適合交互。所以我們希望返回的數據能夠像orm技術一樣返回的單條數據結果就是字典,返回結果為多條數據時可以統一放在列表中以便于遍歷。

        要想達到這樣的轉換效果。首先看看是如何實現原生語句的獲取的。這是一個用以sql查詢單條或者多條數據的方法。以size=0可以判斷是否需要fetchall全部查詢。

        

      def find_info(table,orderdict, size=1):
          '''
          :param table: str 所查詢的表
          :param orderdict:  dict 關鍵字值的字典
          :return:
          '''
          key_list = list(orderdict.keys())
          value_tuple = tuple(orderdict.values())
          print(key_list,value_tuple)
          for key in key_list:
              if key == key_list[0]:
                  sql = "select * from {} where {}=%s".format(table, key)
              else:
                  sql = sql + 'and {}=%s'.format(key)
          try:
              cursor.execute(sql, value_tuple)
              data_dict= cursor.fetchmany(size)
              cursor.close()
              connection.close()
              return data_dict
          except:
              return {'msg':'表格不存在,查詢有誤'}
      

        這個時候假設我們需要查詢res = find_info('useinfo',{'name':1},1),此時返還的會是像((1,1,30),(2,1,40))的結果集。如果我們在執行后加入desc = cursor.description并且打印他,就會發現我們需要的關鍵字id,name,age就會出現即desc[0]。

        有了關鍵字,我們再和結果集一一對應打包成字典就不在話下了。完整代碼如下

      def find_info(table,orderdict, size=1):
          '''
          :param table: str 所查詢的表
          :param orderdict:  dict 關鍵字值的字典
          :return:
          '''
          key_list = list(orderdict.keys())
          value_tuple = tuple(orderdict.values())
          print(key_list,value_tuple)
          for key in key_list:
              if key == key_list[0]:
                  sql = "select * from {} where {}=%s".format(table, key)
              else:
                  sql = sql + 'and {}=%s'.format(key)
          try:
              cursor.execute(sql, value_tuple)
              desc = cursor.description
              if size:
                  result = cursor.fetchmany(size)
              else:
                  result = cursor.fetchall()
              data_dict = [dict(zip([col[0] for col in desc], row)) for row in result]
              cursor.close()
              connection.close()
              return data_dict
          except:
              return {'msg':'表格不存在'}
      res = find_info('useinfo',{'name':1},1)
      

        返回結果[{‘id’:1,'name': '1', 'age': '40'}]。

        

      posted on 2020-04-04 22:41  hole_cheng  閱讀(3095)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 开心五月婷婷综合网站| 舟曲县| 国产精品小视频一区二页| 久久香蕉国产线看观看猫咪av| 久久爱在线视频在线观看| 国产福利酱国产一区二区| 福利一区二区1000| 日本黄页网站免费观看| 国产愉拍精品手机| 日韩理伦片一区二区三区| 中文字幕波多野不卡一区| 亚洲精品一区二区制服| 忘忧草社区在线www| 999精品全免费观看视频| 在线中文字幕国产精品| 欧美精品在线观看| 亚洲国产精品日韩av专区| 日本一区二区三区专线| 炎陵县| 四虎成人在线观看免费| 国产精品啪| 国产无遮挡免费真人视频在线观看| 美女黄18以下禁止观看| 波多野42部无码喷潮| 亚洲国产午夜精品福利| 国产成人乱色伦区| 中国女人高潮hd| 无码丰满人妻熟妇区| 天堂影院一区二区三区四区| 最新亚洲人成网站在线影院 | 乱码中文字幕| 亚洲av色香蕉一区二区三区精品| 一面膜上边一面膜下边视频| 亚洲各类熟女们中文字幕| 国产亚洲色婷婷久久99精品| 中文字幕av日韩有码| 秋霞鲁丝片成人无码| 顺平县| 在线观看国产成人av天堂| 久久婷婷五月综合色99啪ak| 久爱www人成免费网站|