1、准备工作

  在本篇中,我们使用python版本为python3.7。在python3中,连接mysql数据库我们需要使用pymysql这个第三方库。我们可以直接使用pip命令来安装,安装的命令为:

pip install PyMySQL

  如果在你的环境中同时存在python2和python3两个版本,那么我们需要安装python3版本的时候就可以使用

pip3 install PyMySQL

2、连接数据库

  在做好准备工作后,我们就可以开始使用pymysql这个第三方库进行连接mysql了

 import pymysql

 '''连接数据库,我们直接调用connect这个函数,需要在该函数中传入数据库的连接信息,如
数据库的IP地址、账号、密码和数据库的名称'''
conn = pymysql.connect(host='127.0.0.1', user='root', passwd='', db='test')

2.1 python连接mysql后执行插入语句

 import pymysql

 '''连接数据库,我们直接调用connect这个函数,需要在该函数中传入数据库的连接信息,如
数据库的IP地址、账号、密码和数据库的名称'''
def connMysql():
try:
conn = pymysql.connect(host='127.0.0.1', user='root', passwd='', db='test')
return conn
except:
return '连接失败' '''操作mysql往数据库中插入一条数据'''
def insertOne():
'''在成功连接mysql之后,我们需要建立一个游标,只有建立成功了游标,才可以对mysql进行操作'''
conn = connMysql()
cur = conn.cursor()
sql = 'INSERT INTO tab_user VALUES (%s, %s)'
params = (1, 'admin')
'''使用excute函数将需要查询的sql和变量传入'''
cur.execute(sql, params)
conn.commit()
'''在操作完数据库之后,我们需要关闭游标和连接对象,否则连接池会被占满'''
cur.close()
conn.close() '''操作mysql插入多条数据'''
def insertMany():
conn = connMysql()
cur = conn.cursor()
sql = 'INSERT INTO tab_user VALUES (%s, %s)'
params = [(2, '张三'), (3, '李四')]
'''使用executemany函数将需要查询的sql和变量传入'''
cur.executemany(sql, params)
conn.commit()
'''在操作完数据库之后,我们需要关闭游标和连接对象,否则连接池会被占满'''
cur.close()
conn.close()

2.2 python连接mysql后执行查询语句

 import pymysql

 '''连接数据库,我们直接调用connect这个函数,需要在该函数中传入数据库的连接信息,如
数据库的IP地址、账号、密码和数据库的名称'''
def connMysql():
try:
#conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', db='test')
conn = pymysql.connect(host='10.66.132.42', user='cdb_outerroot', passwd='@09ui%sbc09', db='gic_marketing')
return conn
except:
return '连接失败' '''查询一条数据'''
def get_one():
conn = connMysql()
cur = conn.cursor()
sql = "SELECT * FROM tab_user WHERE id = %s"
params = (2,)
cur.execute(sql, params)
'''查询只有一条数据的时候使用fetchone()'''
result = cur.fetchone()
cur.close()
conn.close()
return result '''查询所有数据'''
def get_All():
conn = connMysql()
cur = conn.cursor()
sql = "SELECT * FROM tab_gic_coup_card"
cur.execute(sql)
'''需要查询所有数据的时候应该使用fetchall()'''
result = cur.fetchall()
#db = [item for item in result]
cur.close()
conn.close()
return result '''查询部分数据'''
def get_Many():
conn = connMysql()
cur = conn.cursor()
sql = "SELECT * FROM tab_gic_coup_card WHERE card_name like %s"
params = ('%测试')
cur.execute(sql)
'''fetchmany()需要传入变量来确定查询几条数据,如果不传入则默认只查询一条'''
result = cur.fetchmany(2)
'''列表推倒式,在这里就不做说明,也可以不使用列表推倒式,直接return result'''
db = [item for item in result]
cur.close()
conn.close()
return db

修改和删除就不在此说明,可参考“2.1 python连接mysql后执行插入语句“的代码

【数据驱动】python之mysql的操作的更多相关文章

  1. python对mysql数据库操作的三种不同方式

    首先要说一下,在这个暑期如果没有什么特殊情况,我打算用python尝试写一个考试系统,希望能在下学期的python课程实际使用,并且尽量在此之前把用到的相关技术都以分篇博客的方式分享出来,有想要交流的 ...

  2. Python 3 mysql 库操作

    Python 3 mysql 库操作 一.基础相关知识 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_ ...

  3. Python 3 mysql 表操作

    Python 3 mysql 表操作 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为 ...

  4. Python进行MySQL数据库操作

    最近开始玩Python,慢慢开始喜欢上它了,以前都是用shell来实现一些自动化或者监控的操作,现在用Python来实现,感觉更棒,Python是一门很强大的面向对象语言,所以作为一个运维DBA或者运 ...

  5. 使用Python对MySQL数据库操作

    本文介绍Python3使用PyMySQL连接数据库,并实现简单的增删改查. 什么是PyMySQL? PyMySQL是Python3.x版本中用于连接MySQL服务器的一个库,Python2.x中则使用 ...

  6. python的mysql数据库操作

    python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...

  7. python之(mysql数据库操作)

    前言:关心3步骤(此文章只针对python自动化根基展开描述) 什么是mysql数据库操作?  答:利用python对mysql数据库进行增, 删, 改, 查 操作 为什么要用python对mysql ...

  8. Python 对Mysql的操作

    Mysql链接不同的数据库 如果python的模板是按照mysql来写的,后面数据库更换为了Oracle,难道需要重现再来写,当然不是,python提供了API接口,只要编写是面对api,后面的链接会 ...

  9. python连接mysql的操作

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

随机推荐

  1. uoj396 [NOI2018]屠龙勇士

    [NOI2018]屠龙勇士 描述 小 D 最近在网上发现了一款小游戏.游戏的规则如下: 游戏的目标是按照编号 1∼n 顺序杀掉 n 条巨龙,每条巨龙拥有一个初始的生命值 ai .同时每条巨龙拥有恢复能 ...

  2. Git --06 Git-gui安装

    目录 1.Git-gui安装 1.Git-gui安装

  3. vsftpd配置详解

    匿名用户权限控制: anonymous_enable=YES #是否启用匿名用户 no_anon_password=YES #匿名用户login时不询问口令 anon_upload_enable=(y ...

  4. hive之压缩

    对数据进行压缩可以节约磁盘空间,提高系统吞吐量和性能,但是压缩和解压缩会增加CPU的开销. 1.hive的压缩编/解码器 BZip2和GZip压缩率高,但是需要消耗较多的CPU开销.LZO和Snapp ...

  5. 学习加密(四)spring boot 使用RSA+AES混合加密,前后端传递参数加解密

      学习加密(四)spring boot 使用RSA+AES混合加密,前后端传递参数加解密 技术标签: RSA  AES  RSA AES  混合加密  整合   前言:   为了提高安全性采用了RS ...

  6. SpringBoot---概述

    1.概述 1.1.SpringBoot解决什么问题? 1.1.1.配置---> 自动化配置 1.1.2.依赖---> SpringBoot提供了一系列的Start POM,整合各项功能的时 ...

  7. Docker安装RMQ

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11752934.html 进入rabbitmq的docker hub镜像仓库地址:https://hub ...

  8. 第三周作业—N42-虚怀若谷

    一.显示/etc/目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录 ls  /etc/[^[:alpha:]][[:alpha:]]* 二.复制/etc/目录下所有以p开头的 ...

  9. ldd3 第12章 PCI驱动程序

    PCI接口 PCI寻址 引导阶段 配置寄存器和初始化 MODULE_DEVICE_TABLE 注册PCI驱动程序 佬式PCI探测 激活PCI设备 访问配置空间 访问I/O和内存空间 PCI中断 硬件抽 ...

  10. vue父组件异步数据子组件接收遇到的坑

    大家都知道父组件给子组件传值,子组件给父组件传值,两者通信并不难,官网上也有给案例,但是如果子组件想拿到父组件的异步数据,常规的写法是不行的,下面我记录我常用的两者写法: 方法1: 子组件用v-if, ...