zoukankan      html  css  js  c++  java
  • mysql获取某个表的所有属性名及其数据

    MYSQL类实现从数据库相应的表中获取所有属性及其数据,数据为元组类型。返回结果存放在字典中

     1 import pymysql
     2 
     3 
     4 class MYSQL:
     5     def __init__(self):
     6         pass
     7 
     8     def __del__(self):
     9         self._cursor.close()
    10         self._connect.close()
    11 
    12     def connectDB(self):
    13         """
    14         连接数据库
    15         :return:
    16         """
    17         try:
    18             self._connect = pymysql.Connect(
    19                 host='localhost',
    20                 port=3306,
    21                 user='root',
    22                 passwd='123456',
    23                 db='test',
    24                 charset='utf8'
    25             )
    26 
    27             return 1
    28         except:
    29             return 0
    30 
    31     def readObject(self, target):
    32         """
    33         读取评价对象
    34         :return: list对象:所有的评价对象及其数据,数据的行数
    35         """
    36         self._cursor=self._connect.cursor()
    37         result = {}  # {字段:该字段的所有值列表(包含字段)}
    38         name = []    # target表的所有字段的列表
    39         data = ()
    40         sql = "select COLUMN_NAME from information_schema.COLUMNS where table_name = '%s'"
    41         name_sql = "select %s from %s"
    42         self._cursor.execute(sql % target)
    43         results = self._cursor.fetchall()
    44         for row in results:
    45             name.append(row[0])
    46 
    47         # print(name)
    48 
    49         for i in name:
    50             self._cursor.execute(name_sql % (i, target))
    51             data = self._cursor.fetchall()
    52             # Python 字典 setdefault() 函数
    53             # 如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值
    54             result.setdefault(i, data)
    55 
    56         return result, len(data)
    57 
    58 
    59 if __name__ == '__main__':
    60 
    61     mysql = MYSQL()
    62     flag = mysql.connectDB()
    63     if flag == 0:
    64         print('数据库连接失败')
    65     else:
    66         print('数据库连接成功')
    67         data, row_count = mysql.readObject('employee')
    68         print(data)
    69         print(row_count)

    输出结果:

    数据库连接成功
    {'FIRST_NAME': (('Mac',), ('Marry',), ('Bob',)), 'LAST_NAME': (('Mohan',), ('Mohan',), ('Mohan',)), 'AGE': ((20,), (32,), (21,)), 'SEX': (('M',), ('M',), ('F',)), 'INCOME': ((2000.0,), (3000.0,), (4000.0,))}
    3
  • 相关阅读:
    sql 查询当前数据库所有表格以及所有表格数据条数
    MVC AjaxOptions 中的OnSuccess方法执行多次的问题
    已知当前地理位置经纬度查询几个点中最近的一个地点demo
    微信分享ios设备没有分享图标安卓有分享图标 (分享功能没有问题)
    摇一摇js 实现
    linq 的switch实现
    启动服务器脚本
    关于网站的优化
    Ubuntu纯命令行安装并配置Teamviewer
    在Jupyter中使用自定义conda环境
  • 原文地址:https://www.cnblogs.com/fuqia/p/8994681.html
Copyright © 2011-2022 走看看