【数据驱动】python之mysql的操作
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的操作的更多相关文章
- python对mysql数据库操作的三种不同方式
首先要说一下,在这个暑期如果没有什么特殊情况,我打算用python尝试写一个考试系统,希望能在下学期的python课程实际使用,并且尽量在此之前把用到的相关技术都以分篇博客的方式分享出来,有想要交流的 ...
- Python 3 mysql 库操作
Python 3 mysql 库操作 一.基础相关知识 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_ ...
- Python 3 mysql 表操作
Python 3 mysql 表操作 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为 ...
- Python进行MySQL数据库操作
最近开始玩Python,慢慢开始喜欢上它了,以前都是用shell来实现一些自动化或者监控的操作,现在用Python来实现,感觉更棒,Python是一门很强大的面向对象语言,所以作为一个运维DBA或者运 ...
- 使用Python对MySQL数据库操作
本文介绍Python3使用PyMySQL连接数据库,并实现简单的增删改查. 什么是PyMySQL? PyMySQL是Python3.x版本中用于连接MySQL服务器的一个库,Python2.x中则使用 ...
- python的mysql数据库操作
python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...
- python之(mysql数据库操作)
前言:关心3步骤(此文章只针对python自动化根基展开描述) 什么是mysql数据库操作? 答:利用python对mysql数据库进行增, 删, 改, 查 操作 为什么要用python对mysql ...
- Python 对Mysql的操作
Mysql链接不同的数据库 如果python的模板是按照mysql来写的,后面数据库更换为了Oracle,难道需要重现再来写,当然不是,python提供了API接口,只要编写是面对api,后面的链接会 ...
- python连接mysql的操作
一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...
随机推荐
- 数组Array的方法调用
<script language="JavaScript" type="text/javascript"> var arr = ["11& ...
- activiti 5.22 表结构解析及清空流程运行测试数据
1.结构设计 1.1. 逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: 'RE'表示repository(存储),RepositoryService接口所操作的 ...
- Tutorial2
一.写一个tf2的broadcaster 本教程关于怎样broadcast一个机器人的坐标系到tf2上. 1.创建一个learning_tf2包 catkin_create_pkg learning_ ...
- 一、简单的移动端tab头部二级下拉导航栏,向下弹出,向上隐藏
一.简单的移动端tab头部二级下拉导航栏,向下弹出,向上隐藏 <html lang="en"> <head> <meta charset=" ...
- 8VC Venture Cup 2017 - Elimination Round - C
题目链接:http://codeforces.com/contest/755/problem/C 题意:PolandBall 生活在一个森林模型的环境中,定义森林由若干树组成,定义树为K个点,K-1条 ...
- Vue 侦听属性
Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性 <!DOCTYPE html> <html> <head> <meta cha ...
- 厉害了!新AI人工智能研究令人大开眼界
AI人工智能有很多方法可以操纵照片,让您看起来更好看,消除红眼或镜头眩光等等.但到目前为止,眨眼已经证明了一个顽强的快照对手. 这远远不是智能“绘画中”的唯一例子,因为当一个程序用它认为属于的地方填充 ...
- vue-葵花宝典
router-view 中包含 router-view 这种情况就可以 使用嵌套路由了 变化的视图中包含变化的视图 代码层面 router-view 中 包含router-view 路由childre ...
- boost algorithm
BOost Algorithm provides algorithms that complement the algorithms from the standard library. Unlike ...
- 【QUIC】Quick UDP Internet Connections
QUIC(Quick UDP Internet Connections,快速UDP互联网连接)是Google提出的一种基于UDP改进的通信协议,其目的是降低网络通信的延迟,提供更好的用户互动体验. Q ...