美文网首页
【案例-可视化】dataV实时数据可视化

【案例-可视化】dataV实时数据可视化

作者: X_Ran_0a11 | 来源:发表于2019-07-21 14:40 被阅读0次

    一、Python3 MySQL 数据库连接

    https://www.runoob.com/python3/python3-mysql.html

    1、PyMySQL 安装

    pip3 install PyMySQL
    

    2、连接和操作

    #导入模块
    import pymysql
    #连接数据库
    db = pymysql.connect("外网地址","用户名","密码","数据库" )  #要根据实际填写
    # 使用cursor()方法获取操作游标 
    cursor = db.cursor()
    # SQL 查询语句
    sql = 'show tables'
    #执行SQL查询语句
    cursor.execute(sql)
    #显示SQL查询结果
    cursor.fetchall()
    # 提交操作
    db.commit()
    #关闭连接
    db.close()
    

    所以连接和操作其实就这5步骤:

    • 连接数据库
    • 插入游标
    • 游标执行sql语句(可以分两步进行,也可以直接写sql语句)
    • 提交操作(是必须操作,不然mysql的数据是不会执行的)
    • 关闭游标

    一般为了防止mysql出错,采用try except执行sql语句,而不是cursor.execute(sql)直接进行执行:

    try:
       # 执行sql语句
       cursor.execute(sql)
       # 执行sql语句
       db.commit()
    except:
       # 发生错误时回滚
       db.rollback()
    

    二、python定时更新mysql数据

    https://blog.csdn.net/wzqnls/article/details/51992487
    https://www.cnblogs.com/anpengapple/p/8051923.html
    mysql dataV数据库中已有test_realtime表,数据为:

    image.png
    现采用python定时更新amount数据:
    • python 使用随机数模块,三个随机0~100的随机整数。;
    • 将模拟数据定时存入mysql ;
    • 设置定时器,定时执行 。
    # -*- coding:utf-8 -*- 
    
    import pymysql
    import time
    import datetime
    import numpy as np
    
    #连接数据库
    db = pymysql.connect("外网地址","用户名","密码","数据库" )  
    def job():
      #执行更新操作
      #select count(*) from test_Realtime; 返回数据行数,这里不返回了,已知为3
      cursor = db.cursor()
      for i in range(3):
        a=np.random.randint(101)
        idnum=i+1
        sql="update test_realtime set amount=%d where id=%d"%(a,idnum)
        try:
           cursor.execute(sql)
           db.commit()
        except:
           db.rollback()
      #关闭
      db.close()
    
    #定时执行
    while True: 
        job()
        time.sleep( 2 )
    

    三、dataV结果展示

    在dataV里面设置数据2s刷新(数据端有明显延迟额),结果:


    datav-realtime.gif

    相关文章

      网友评论

          本文标题:【案例-可视化】dataV实时数据可视化

          本文链接:https://www.haomeiwen.com/subject/hrnplctx.html