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数据库实现企业级产品参数查询的更多相关文章

  1. python3操作mysql数据库表01(封装查询单条、多条数据)

    #!/usr/bin/env python# -*- coding:UTF-8 -*- import pymysql# import os'''封装查询单条.多条数据'''# os.environ[' ...

  2. python3操作MySQL数据库

    安装PyMySQL 下载地址:https://pypi.python.org/pypi/PyMySQL 1.把操作Mysql数据库封装成类,数据库和表先建好 import pymysql.cursor ...

  3. Python3 操作mysql数据库

    python关于mysql的API--pymysql模块 pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 pip install pymysq ...

  4. (接口自动化)Python3操作MySQL数据库

    基础语法: import pymysql #导入模块 conn = pymysql.connect(host='localhost',user='root', passwd='123456', db= ...

  5. python3操作mysql数据库增删改查

    #!/usr/bin/python3 import pymysql import types db=pymysql.connect("localhost","root&q ...

  6. python3操作mysql数据库表01(基本操作)

    #!/usr/bin/env python# -*- coding:UTF-8 -*- import requestsfrom bs4 import BeautifulSoupfrom bs4 imp ...

  7. python3操作MySQL数据库,一次插入多条记录的方法

    这里提供一个思路,使用字符串拼接的方法,将sql语句拼接出来,然后去执行: l = ["] s = '-' print(s.join(l))

  8. python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy

    内容一览: 1.Python操作MySQL数据库 2.ORM sqlalchemy学习 1.Python操作MySQL数据库 2. ORM sqlachemy 2.1 ORM简介 对象关系映射(英语: ...

  9. python3操作mysql教程

    一.下载\安装\配置 1. python3 Python3下载网址:http://www.python.org/getit/ 当前最新版本是python3.2,下载地址是 http://www.pyt ...

  10. python接口自动化(三十八)-python操作mysql数据库(详解)

    简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...

随机推荐

  1. 如何使用源码编译安装Nginx服务器

    安装 PCRE : 网站:http://pcre.org/ 下载: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ ftp://ftp.c ...

  2. springcloud 整合email的坑(Unrecognized SSL message, plaintext connection?)

    springcloud整合email真的是搞得我脑壳痛,因为我需要注册的时候通过rabbitmq给用户发一封邮件,因为这个报错的原因导致我mq一直监听失败然后就开始了循环发消息,这就导致邮箱一直在不停 ...

  3. 杭电oj Lowest Common Multiple Plus

    Problem Description 求n个数的最小公倍数.   Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数.   Output 为每组测试数据输出它们的最 ...

  4. 080_Dataloader.io

    图中是之前使用的Dataloader,关于Lookup字段可以不使用ID,用ID对应的Name进行匹配,如图

  5. 用keil调试程序的时候,一点击调试就弹出STARTUP.A51那个窗口,解决办法

    前天晚上我折腾了很久 网上查了各种方法.最终自己发现,调试之前一定要在keil编译一遍,再debug这样就不会弹窗了. 另外,keil在调试过程中,修改代码是不会有任何作用的,你看我故意写错,继续单步 ...

  6. mysql学习问题解决

    1.字符串转时间格式函数: STR_TO_DATE('2017-10-19 16:47:00', '%Y-%m-%d %H:%i:%s') oracle的为to_date 2.specified tw ...

  7. 哲讯科技SAP医疗器械行业ERP解决方案

    哲讯科技SAP医疗器械行业ERP解决方案主要体现在以预测为指导,计划为执行的管理理念,完全做到实时的全过程的质量管理和质量跟踪.并且通过灵活的质量管理模块大大降低因实施GMP管理给企业带来的成本压力. ...

  8. ubuntu 的 apt 命令

    工作原理 apt 全称 advanced packaging tool 是 ubuntu 下的包管理工具 apt 采用集中式仓储机制来管理软件,有 软件安装包 和 软件安装列表 两部分完成. 使用 a ...

  9. DevExpress.XtraEditors.ComboBoxEdit 只能选择不能在里面 输入数据

    DevExpress.XtraEditors.ComboBoxEdit 只能选择不能在里面 输入数据 combboxEdit.propoties.textEditStyle=DisableTextEd ...

  10. potoshop制作一寸照片

    potoshop制作一寸照片 经常因为各种原因需要提供1寸照片,第一反应应还是跑照相馆专业.但是疫情封闭在家怎么高,刚好把偶尔使用一次的potoshop用起来,解决照片制作问题,一来能省几毛钱买茶叶蛋 ...