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. 2022-05-13内部群每日三题-清辉PMP

    1.一个运营团队认为他们的技能在项目上是不必要的,团队士气低落,且团队成员试图阻止项目实现目标.项目经理应该怎么做? A.建议公司改变战略,并立即停止项目 B.要求工会的支持来激励团队 C.根据项目成 ...

  2. MAC怎么快速截图

    ​ 1.截取全屏 按住[command][shift][3]这三个键即可截取全屏. ​ 编辑 2.截取某区域 按住[command][shift][4]. ​ 编辑 3.截图完成 在电脑桌面能找到截图 ...

  3. Java使用Calendar获取月最大天数

    Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar ...

  4. 蓝牙mesh组网实践(dataflash的占用与管理)

    目录 蓝牙mesh协议中有不少数据需要存储dataflash,以记录网络中的数据.一些数据只需要配网时保存进dataflash,比如说本节点的网络地址.各类密钥等:另一些数据需要在运行中动态更新,比如 ...

  5. Angular单页应用程式 (SPA)+Azure AD重新导向登入

    一.app.module.ts中设定应用程式 1.将MSAL Angular相关设置封装为auth.module.ts import { NgModule } from '@angular/core' ...

  6. Linux下添加启动项并简化操作命令-nginx为例

    1.添加nginx为启动项        1. vi /etc/rc.d/rc.local        2.将启动命令直接添加到最后即可 *注:通过下图可知  /etc/rc.d/rc.local和 ...

  7. 使用FTP协议的主机必须设置xftp版本1.2...

    1.查看是不是没安装xftp,xshell上的那个按钮只是启动按钮 2.还是不行的话,试试在linux上安装这个: yum  install lrzsz

  8. python_test_5001_Moudle_pandas

    import pandas as pd import numpy as np from lib_001_decorator_log_funcname import decorator_log_func ...

  9. reduce()

    from functools import reducea=[10,11,22,33]b=reduce(lambda x,y:x+y,a)<===>sum(a)print(b)

  10. [转]有限状态机FSM(finite state machine) 一

    有限状态机FSM(finite state machine) 一 有限状态机又称有限自动状态机,它拥有有限数量的状态,每个状态代表不同的意义,每个状态可以切换到 零-多 个状态.任意时刻状态机有且只能 ...