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. ubuntu安装supervisor以及使用supervisor启动.net core进程

    1.下载.net core项目ubuntu系统运行容器dotnet      1.版本:dotnet-sdk-2.1.3-linux-x64.tar.gz      2.将下载好的包上传到ubuntu ...

  2. spring(一):spring的基础以及组件

    spring简介 spring是一种开源轻量级框架,是为了解决企业应用程序复杂性而创建的 spring是企业应用开发的“一站式”框架,致力于为javaEE应用的各层(表现层.业务层.持久层)开发提供解 ...

  3. antd desgin vue 报错 Warning: Each record in table should have a unique `key` prop,or set `rowKey` to an unique primary key.

    警告:表的数据源中的每条记录都应该有一个唯一的“key”道具,或者将表的“rowKey”设置为一个唯一的主键, 只需要添加 :rowKey="record => record.id&q ...

  4. JSTL获取list的大小

    转自:https://blog.csdn.net/buster2014/article/details/45789647 JSTL获取list的大小,jstl获取list 的长度,EL表达式获取lis ...

  5. elasticsearch 基础 —— Inner hits

    Inner hits The parent-join and nested 功能允许返回具有不同范围匹配的文档.在父/子案例中,基于子文档中的匹配返回父文档,或者基于父文档中的匹配返回子文档.在嵌套的 ...

  6. tensorflow创建cnn网络进行中文手写文字识别

    数据集下载地址:http://www.nlpr.ia.ac.cn/databases/handwriting/download.html chinese_write_detection.py # -* ...

  7. 屏幕坐标点转UGUI坐标【包含屏幕适配】

    using UnityEngine; public class ScreenToUI : MonoBehaviour { public const float UI_Width = 1366f; pu ...

  8. C# 对象转JSON字符串

    对象转JSON字符串 /// <summary> /// 对象转Json字符串 /// </summary> /// <param name="obj" ...

  9. 清理maven缓存

    原文:https://blog.csdn.net/viplisong/article/details/82963989maven下载失败后会缓存文件,可能导致下次下载失败.通过以下两步清理 1.cd ...

  10. vmware版本选择

    vmware哪个版本好用 2014-03-10 22:59一枚小白3 | 分类:常见软件 | 浏览6743次 准备装ghost xp,想问下哪个版本更适合?或者现在哪个版本更稳定,求不要复制,求大神解 ...