当前位置:首页>python>Python + MySQL 工业数据存储

Python + MySQL 工业数据存储

  • 2026-10-11 07:56:41
Python + MySQL 工业数据存储
“工业现场中,PLC、温湿度变送器、变频器及各类仪表设备通常需要持续上传运行数据。为了实现历史记录、数据追溯、趋势分析及Web可视化,通常需要将采集到的数据存储至数据库中。本文基于 Python + MySQL,实现工业设备数据的自动存储。”
01
通信结构

PLC / 温度变送器

                    ↓ Modbus

Python 数据采集

        ↓

MySQL 数据库存储

其中Python负责对设备数据进行读取,MySQL负责对历史数据进行长期保存。Navicat 15 for MySQL负责对数据库进行可视化管理。下面本文将在工业通信实战:Python 读取 Modbus TCP 与 RTU 数据能使用Python读到设备数据的基础上进行数据的保存,用到的设备是温度变送器。
02
MySQL 环境配置和Navicat安装
一.文件获取
   所有需要用到的相关文件都打包放在了公众号,后台向我发送MySQL获取下载链接。MySQL用于存数据,Native用于可视化管理数据且是中文界面。(MySQL也可以用命令管理数据,不过门槛相对较高也不那么方便。)
二.MySQL和Navicat的安装
这里安装过程略过,自行在网上查找安装教程,如果软件安装不上后面也不用继续看了。
  • 安装过程中需要注意的是:
1.MySQL安装时使用命令行启动或用任务管理器用管理员权限打开。
2.MySQL安装时保存好root密码。
3.端口保持默认3306,Python默认也是连接3306。
4.安装为 Windows 服务
5.输入以下命令后输入密码验证MySQL是否安装成功。
mysql -u root -p
03
Python 与 MySQL 环境配置
一.安装依赖
  pip install pymysql         //安装pymysql依赖
该依赖用于支持Python对MySQL进行读写管理,下图为安装成功。
二.常用命令和作用
下面列出支持库中常用命令列表。
命令
功能
常见用途
pymysql.connect()
连接数据库
建立MySQL连接
db.cursor()
创建游标
执行SQL命令
cursor.execute()
执行SQL
插入/查询/修改
db.commit()
提交事务
保存写入数据
cursor.fetchall()
获取全部数据
查询历史数据
cursor.fetchone()
获取一条数据
查询单条记录
db.close()
关闭数据库连接
释放连接
cursor.close()
关闭游标
释放游标
CREATE DATABASE
创建数据库
新建项目数据库
CREATE TABLE
创建数据表
新建设备数据表
INSERT INTO
插入数据
存储采集数据
SELECT
查询数据
读取历史记录
UPDATE
更新数据
修改设备参数
DELETE
删除数据
清理历史数据
三.用 Navicat 创建数据表
1.储存什么数据
数据
类型
温度
浮点数
湿度
浮点数
运行状态
开关量/状态码
时间
时间型
2.构建数据表
字段
类型
说明
id
INT
主键序号
temperature
FLOAT
温度
humidity
FLOAT
湿度
status
INT
运行状态
time
DATETIME
时间
3.连接MySQL
4.新建一个数据库device_log,并且添加字段
04
Python获取数据写入数据库
在工业通信实战:Python 读取 Modbus TCP 与 RTU 数据的基础上,基于pymysql依赖进行写入数据,写入温湿度,状态和时间。增加以下代码进行数据库写入。
#  MySQL连接db = pymysql.connect(    host="localhost",    user="root",    password="密码",    database="公众号小狗儿饼干"   #数据库名)cursor = db.cursor()# 写入数据库sql = "INSERT INTO `device_log` (temperature, humidity, status, time) VALUES(%s, %s, %s, %s)"cursor.execute(sql, (temperature, humidity, status, now))db.commit()print("写入成功:", now)
写入结果如下:

最新文章

随机文章