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

2019-07-21  本文已影响0人  X_Ran_0a11

一、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步骤:

一般为了防止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数据:
# -*- 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
上一篇 下一篇

猜你喜欢

热点阅读