美文网首页
【案例-可视化】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