本文Python *** 作 MySQL 数据库需要是使用到 PyMySQL 驱动
Python *** 作 MySQL 前提是要安装好 MySQL 数据库并能正常连接使用,安装步骤详见下文。
注意: 安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。
首先需要先下载 MySQL 安装包, 官网下载地址 下载对应版本即可,或直接在网上拉取并安装:
权限设置:
初始化 MySQL:
启动 MySQL:
查看 MySQL 运行状态:
Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:
登陆:
创建数据库:
查看数据库:
PyMySQL 模块使用 pip命令进行安装:
假如系统不支持 pip 命令,可以使用以下方式安装:
pymysql .connect 函数:连接上数据库
输出结果显示如下:表面数据库连接成功
使用 pymysql 的 connect() 方法连接数据库,connect 参数解释如下:
conn.cursor():获取游标
如果要 *** 作数据库,光连接数据是不够的,咱们必须拿到 *** 作数据库的游标,才能进行后续的 *** 作,游标的主要作用是用来接收数据库 *** 作后的返回结果,比如读取数据、添加数据。通过获取到的数据库连接实例 conn 下的 cursor() 方法来创建游标,实例如下:
输出结果为:
cursor 返回一个游标实例对象,其中包含了很多 *** 作数据的方法,如执行sql语句,sql 执行命令: execute() 和 executemany()
execute(query,args=None):
executemany(query,args=None):
其他游标对象如下表:
完整数据库连接 *** 作实例如下:
以上结果输出为:
创建表代码如下:
如下所示数据库表创建成功:
插入数据实现代码:
插入数据结果:
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
查询数据代码如下:
输出结果:
DB API中定义了一些数据库 *** 作的错误及异常,下表列出了这些错误和异常:
本文给大家介绍 Python 如何连接 Mysql 进行数据的增删改查 *** 作,文章通过简洁的代码方式进行示例演示,给使用 Python *** 作 Mysql 的工程师提供支撑。
通过数据库网关连接罗克韦尔1756-L72的以太网端口标签方式采集数据,将数据存入MySQL数据库,以下描述具体的 *** 作步骤。PLC数据MQTT多主题发布/订阅西门子PLC数据采集到数据库
网关模块安装在设备侧,不用电脑软件,随设备上电启动自动运行,保证设备数据采集与设备运行同步,简单高效的完成了数据采集;已批量用于多种行业的智能工厂,大大提高MES等工业互联网项目的实施效率。IGT-DSER带有两种数据缓存功能:
1. 高频次采集数据缓存,打包后一次性上报到数据库;
2. 断网、服务器维护上报异常时,将数据缓存,待故障解除后重新上报到数据库
网关支持西门子、三菱、欧姆龙、施耐德等几乎所有的PLC品牌,通过以上参数软件自行切换即可;关于网关模块的详细介绍可查看CSDN的这篇文章,或者到这里下载PDF手册。以下是详细的 *** 作步骤:
首先用Navicat连接服务器数据库,建立一个数据表,名称为'abplcdata',数据表设计视图如下:
然后在PC上运行网关的参数设置软件,网线连接IGT-DSER网关的网口1,先配置网络参数(默认IP:192.168.1.244,确认PC的网口与网关默认IP同网段),通过‘工具’->‘搜索在线网关’,搜索到网关后,修改IP地址等参数,具体如下:
网口1.PLC设备末段IP设置为0表示有多台同系列同网段的PLC,每台PLC的IP地址在PLC数据地址表里面配置,后面有描述;设置完成后通过‘参数’->‘参数写入到网关’,下载参数,会有以下提示:
点‘是(Y)’即可,参数下载成功后将网关断电,网口1接入PLC的交换机网络,同时修改PC的网口参数为PLC同网段,重新搜索网关读取参数后,通过‘功能’->‘数据上报与下载’进入数据服务配置页面,选择SQL远程数据库,配置数据库地址、PLC标签的参数;
配置完成后要下载参数,通过‘工具’->‘重启网关’,重启后,网关即进入工作状态,通过读取参数可查看网关的实际数据,双击配置表对应的数据序号可查看数据值,如下图:
序号001是日期时间,取自网关的RTC时钟;002和003是PLC的控制器二维数组;004、005和006是控制器一维数组;007为程序变量,字符串类型;008是程序数组;009是控制器变量,BOOL类型;
设备/站号栏目的数值9,表示PLC的IP地址(192.168.0.9)末段(前三段与网关的网口1相同),如果需要增加另外的同系列同网段PLC,在这里设置对应的IP末段地址即可,不同的PLC对应不同的数据表,或者不同的记录行;
需要注意配置表‘数据地址’栏是PLC的数据标签,不能错误,否则读不到数据,所以最好是通过PLC的编程软件从PLC导出CSV文件,然后复制到配置表,如下图:
再打开Navicat查看数据库中的数据,如下图:
这样就完成了数据采集,没间隔5秒网关会自动上报一次数据,这个周期可以调整,也可以设置成触发模式,根据数据变化上报数据;
相关资源:利用PLC实现数据采集_plc数据采集并存入数据库,plc数据采集-专业...
————————————————
版权声明:本文为CSDN博主「肉褚」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42302872/article/details/113655413
可以使用 pymysql 模块读取数据库数据
以下代码运行通过:
import pymysql pymysql.install_as_MySQLdb()import MySQLdb conn = MySQLdb.Connection(host='10.211.55.6', user='root', passwd='123456', port=3306, database='lucia_sqltest', charset='gbk')cursor = conn.cursor() # 获取一个游标sql = 'select * from users'cursor.execute(sql)data = cursor.fetchall()for d in data: # 注意 int 类型需要使用 str 函数转义 print("id: " + str(d[0]) + ' username: ' + d[1] + " password: " + d[2])
运行效果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)