用python3操作mysql数据库实现企业级产品参数查询

Python3 MySQL 数据库连接 - PyMySQL 驱动
一、什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。
二、PyMySQL 安装
在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。
PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。
如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL:
pip3 install PyMySQL
三、数据库连接
连接数据库前,请先确认以下事项:
- 已经创建了数据库。
- 在数据库中已经创建了表。
- mysql数据库的初始默认用户名为root,密码为toor。
- 在你的电脑上已经安装了PyMySQL 模块。
- 如果您对sql语句不熟悉,可以访问 SQL基础教程。


以上表格展示为作者所使用的产品参数表,字段Partnumber为产品的唯一ID,一个产品对应多个属性(Feature字段),每个产品的属性对应值Value是唯一。
正餐开始:
数据量级:共计250万余行记录,字段数总计750万余条,涵盖产品4万余件
效率汇报:属性值查询均能控制在2秒内查到对应值,查询效率令人满意
#PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库
import pymysql # 创建pymysql类型的对象db,并连接到我的本地数据库"产品库"
db = pymysql.connect("localhost","root","root","产品库" ) #创建游标对象cursor
cur = db.cursor()
(1)查询产品ID为03195的产品重量
# 创建mysql查询语句sql2
sql2 = "select * from web_published where Partnumber='03195' and Feature='产品重量'" #让游标对象cursor执行sql2语句,返回值是受到影响的数据量,以int值返回并存储在reCount中
reCount2 = cur.execute(sql2)
print(reCount2) #让执行sql2语句之后的游标对象返回执行后的结果,以元组tuple的形式存入data2
data2 = cur.fetchall()
print(data2)
执行效果:

(2)查询产品ID为ZCT21N12的短路保护
# 创建mysql查询语句sql3
sql3 = "select * from web_published where Partnumber='ZCT21N12' and Feature='短路保护'" #让游标对象cursor执行sql3语句,返回值是受到影响的数据量,以int值返回并存储在reCount中
reCount3 = cur.execute(sql3)
print(reCount3) #让执行sql3语句之后的游标对象返回执行后的结果,以元组tuple的形式存入data3
data3 = cur.fetchall()
print(data3)
执行效果:

(3)查询产品ID为ZCP29的产品的所有属性
# 创建mysql查询语句sql4
sql4 = "select * from web_published where Partnumber='ZCP29' " #让游标对象cursor执行sql3语句,返回值是受到影响的数据量,以int值返回并存储在reCount中
reCount4 = cur.execute(sql4)
print(reCount4) #让执行sql4语句之后的游标对象返回执行后的结果,以元组tuple的形式存入data3
data4 = cur.fetchall()
print(data4)
执行效果:
(4)查询产品ID为ZCKM6H29的本体类型,结果以字典类型数据返回
# 创建mysql查询语句sql5
sql5 = "select * from web_published where Partnumber='ZCKM6H29' and Feature='本体类型'" # cur = db.cursor()
cur2 = db.cursor(cursor=pymysql.cursors.DictCursor) ##创建cursor的时候,指定其返回的cursor类型为dict reCount5 = cur2.execute(sql5) # 返回受影响的行数
print(reCount5)
data = cur2.fetchall() # 返回数据,返回的是tuple类型
print(data)
执行效果:

(5)结束操作,关闭
#最后关闭游标对象和数据库,防止继续占用进程
cur.close()
db.close()
用python3操作mysql数据库实现企业级产品参数查询的更多相关文章
- python3操作mysql数据库表01(封装查询单条、多条数据)
#!/usr/bin/env python# -*- coding:UTF-8 -*- import pymysql# import os'''封装查询单条.多条数据'''# os.environ[' ...
- python3操作MySQL数据库
安装PyMySQL 下载地址:https://pypi.python.org/pypi/PyMySQL 1.把操作Mysql数据库封装成类,数据库和表先建好 import pymysql.cursor ...
- Python3 操作mysql数据库
python关于mysql的API--pymysql模块 pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 pip install pymysq ...
- (接口自动化)Python3操作MySQL数据库
基础语法: import pymysql #导入模块 conn = pymysql.connect(host='localhost',user='root', passwd='123456', db= ...
- python3操作mysql数据库增删改查
#!/usr/bin/python3 import pymysql import types db=pymysql.connect("localhost","root&q ...
- python3操作mysql数据库表01(基本操作)
#!/usr/bin/env python# -*- coding:UTF-8 -*- import requestsfrom bs4 import BeautifulSoupfrom bs4 imp ...
- python3操作MySQL数据库,一次插入多条记录的方法
这里提供一个思路,使用字符串拼接的方法,将sql语句拼接出来,然后去执行: l = ["] s = '-' print(s.join(l))
- python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
内容一览: 1.Python操作MySQL数据库 2.ORM sqlalchemy学习 1.Python操作MySQL数据库 2. ORM sqlachemy 2.1 ORM简介 对象关系映射(英语: ...
- python3操作mysql教程
一.下载\安装\配置 1. python3 Python3下载网址:http://www.python.org/getit/ 当前最新版本是python3.2,下载地址是 http://www.pyt ...
- python接口自动化(三十八)-python操作mysql数据库(详解)
简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...
随机推荐
- 如何使用源码编译安装Nginx服务器
安装 PCRE : 网站:http://pcre.org/ 下载: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ ftp://ftp.c ...
- springcloud 整合email的坑(Unrecognized SSL message, plaintext connection?)
springcloud整合email真的是搞得我脑壳痛,因为我需要注册的时候通过rabbitmq给用户发一封邮件,因为这个报错的原因导致我mq一直监听失败然后就开始了循环发消息,这就导致邮箱一直在不停 ...
- 杭电oj Lowest Common Multiple Plus
Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Output 为每组测试数据输出它们的最 ...
- 080_Dataloader.io
图中是之前使用的Dataloader,关于Lookup字段可以不使用ID,用ID对应的Name进行匹配,如图
- 用keil调试程序的时候,一点击调试就弹出STARTUP.A51那个窗口,解决办法
前天晚上我折腾了很久 网上查了各种方法.最终自己发现,调试之前一定要在keil编译一遍,再debug这样就不会弹窗了. 另外,keil在调试过程中,修改代码是不会有任何作用的,你看我故意写错,继续单步 ...
- mysql学习问题解决
1.字符串转时间格式函数: STR_TO_DATE('2017-10-19 16:47:00', '%Y-%m-%d %H:%i:%s') oracle的为to_date 2.specified tw ...
- 哲讯科技SAP医疗器械行业ERP解决方案
哲讯科技SAP医疗器械行业ERP解决方案主要体现在以预测为指导,计划为执行的管理理念,完全做到实时的全过程的质量管理和质量跟踪.并且通过灵活的质量管理模块大大降低因实施GMP管理给企业带来的成本压力. ...
- ubuntu 的 apt 命令
工作原理 apt 全称 advanced packaging tool 是 ubuntu 下的包管理工具 apt 采用集中式仓储机制来管理软件,有 软件安装包 和 软件安装列表 两部分完成. 使用 a ...
- DevExpress.XtraEditors.ComboBoxEdit 只能选择不能在里面 输入数据
DevExpress.XtraEditors.ComboBoxEdit 只能选择不能在里面 输入数据 combboxEdit.propoties.textEditStyle=DisableTextEd ...
- potoshop制作一寸照片
potoshop制作一寸照片 经常因为各种原因需要提供1寸照片,第一反应应还是跑照相馆专业.但是疫情封闭在家怎么高,刚好把偶尔使用一次的potoshop用起来,解决照片制作问题,一来能省几毛钱买茶叶蛋 ...
