用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,会不会搭建测试系统,会不会常用的数据库, ...
随机推荐
- 基于Spring AOP切面实现请求入参出参加解密
1.Mavne导入加密解密所需的依赖 <dependency> <groupId>org.apache.commons</groupId> <artifact ...
- linux修改ssh默认端口
1 . 登录服务器,打开sshd_config文件 vim /etc/ssh/sshd_config 2 . 找到#Port 22,默认是注释掉的,先把前面的#号去掉,再插入一行设置成你想要的端口号, ...
- vue 学习 css第四天
一.css背景属性 可以给页面元素添加背景样式. 背景属性(background)可以设置. 1.背景颜色. 2.背景图片. 3.背景平铺. 4.背景图片位置 5.背景图像固定 1.背景颜色(back ...
- redis底层数据结构之快速列表(quicklist)
快速列表(quicklist) redis3 .2版本之前,List类型数据使用的底层数据结构是压缩列表(ziplist)或双向链表(linkedlist),当列表元素个数比较少并且每个元素占用空间比 ...
- Advanced Rest Client 测试工具安装
浏览器安装测试工具: Advanced Rest Client 1.下载插件,下载后解压 链接:https://pan.baidu.com/s/1DD5PgmkX_AG-JhUh8EVtqQ?pwd= ...
- 利用context组件数据传递
react的数据传递 是从父级向子级传递的.通过props.如果是很多组件需要的数据,通过props传递会非常麻烦.这个时候可以使用context. context需要可以类似于store但是也不能滥 ...
- 如何修改驱动使得NVIDIA Geforce GTX 970, 980, 980 TI and Titan X等显卡可以在Win XP/Win 2003 server x64下驱动?
感谢Matt,一个老外,非常好的修改方法. 本人亲测成功. I recently built a new computer to better accommodate the forthcoming ...
- 实验一-密码引擎-加密API研究
实验一-密码引擎-加密API研究 API:应用程序接口(API:Application Program Interface)是一组定义.程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信 ...
- SignalR+Redis,SignalR+Sqlserver集群部署应对海量链接
一:SignalR+Sqlserver 1:新建一个MVC的空项目和之前一样 2:index页面的js代码如下 <script src="~/Scripts/jquery-1.10.2 ...
- 微信小程序中如何把数组从一个页面传到另一个页面,并且获取数据
// 传送端 举例 wx.navigateTo({ url: 'recite/recite?openid=' + k.data.openid + '&isexist=' + k.data.is ...