使用指南。pymysql支持python2.7同时也支持python3.x。当前我用的是python2.7。所以过断选择了pymysql的使用,这里注意几点。一般我们连接数据库为了安全起见,都会要求按照ssl的方式进行连接,但是为了操作和使用的方便,可以跟开发沟通通过添加白名单的方式,连接某个网络,将此网络的IP添加到白名单中,就可以不用ssl的方式连接数据库,直接使用:dbname,host,username,password的方式连接数据库,方便操作。

连接数据库:

(查询数据)示例代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author:lucky,time:2019-06-11 import pymysql,sys
import readConfig
import json
#连接数据库
db = pymysql.connect(host=readConfig.host,user = readConfig.user,passwd=readConfig.passwd,db=readConfig.db) #db:库名
#创建游标
# cur = db.cursor() #创建游标,结果将已字典的形式返回
cur = db.cursor(pymysql.cursors.DictCursor) # sql = "select bs.uuid,bs.target_type,bs.source,bs.user_uuid,bs.agent_uuid from `behavior_share` bs join user u on u.uuid = bs.user_uuid where u.mobile = '12606666333'"
#查询lcj表中存在的数据
sql = "select bs.uuid,bs.agent_uuid from `behavior_share` bs join user u on u.uuid = bs.user_uuid where u.mobile = '12606666333'" cur.execute(sql)
#fetchall:获取lcj表中所有的数据
ret1 = cur.fetchall()
print(ret1)

打印结果:

进阶模式:

将数据库的配置信息写到ini文件中,通过调用,在py文件中显示,方便配置信息的统一管理,也避免了后期更改数据库的host后,要修改很多地方。

(1)创建cfg.ini文件。写的内容如下:

[Test_Env_mysql]
##############此类信息向开发获取#################
host = ***********************
user = iber_php
passwd = *************
db = iber2_admin

(2)创建  readConfig.py 文件,读取ini的配置信息

#!/usr/bin/env python
# coding=UTF-8 '''此文件主要是获取cfg.ini中对应的配置信息'''
import os
import ConfigParser cur_path = os.path.dirname(os.path.realpath(__file__))
configpath = os.path.join(cur_path,"cfg.ini")
conf = ConfigParser.ConfigParser()
conf.read(configpath) #############获取到mysql的相关信息##################
host = conf.get("Test_Env_mysql","host")
user = conf.get("Test_Env_mysql","user")
passwd = conf.get("Test_Env_mysql","passwd")
db = conf.get("Test_Env_mysql","db")

(3)在使用的  attach_mysql.py 文件中直接调用

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author:lucky,time:2019-06-11 import pymysql,sys
import readConfig
import json
#连接数据库
db = pymysql.connect(host=readConfig.host,user = readConfig.user,passwd=readConfig.passwd,db=readConfig.db) #db:库名 ..........剩下的信息更上方的((查询数据)示例代码如下:)写法一致。

数据库获取结果的几种常见方式;

示例一:

sql = "select bs.uuid,bs.agent_uuid from `behavior_share` bs join user u on u.uuid = bs.user_uuid where u.mobile = '12606666333'"

cur.execute(sql)
#fetchall:获取lcj表中所有的数据
ret1 = cur.fetchall()
print(ret1) #获取所有的查询结果,此处的类型是列表
print len(ret1) #获取所有结果的条数
print ret1[0] #获取所得结果为0下标的字典
print type(ret1[0]) #此处的类型是字典
print ret1[0]["uuid"] #获取所得结果为0下标的字典中的某个值

打印结果:

实例二:

获取某行的数据。

sql = "select bs.uuid,bs.agent_uuid from `behavior_share` bs join user u on u.uuid = bs.user_uuid where u.mobile = '12606666333'"

cur.execute(sql)

print cur.fetchmany(1)   #获取查询结果的前一行的数据
print cur.fetchmany(2) #获取查询结果的前二行的数据

打印结果:

Python+request 使用pymysql连接数据库mysql的操作《十》的更多相关文章

  1. Python+request 使用pymysql连接数据库mysql的操作,基础篇《十一》

    笔记记录: (1)pymysql中所有的有关更新数据(insert,update,delete)的操作都需要commit,否则无法将数据提交到数据库,既然有了commit(),就一定有对应的rollb ...

  2. python使用MySQLdb实现连接数据库Mysql

    python实现连接数据库mysql的步骤: 一.引入MySQLdb 二.获取与数据库的连接 三.执行SQL语句和存储过程 四.关闭数据库连接 1.什么是MySQLdb? MySQLdb是用于pyth ...

  3. 案例学python——案例二:连接数据库MySql

    调侃的话:案例一跑完之后,欣赏把玩了一番.人就有点飘飘然,昨天除了做饭吃饭,就是玩三国杀,江郎才尽,今天周一,不飘了,敲点代码,看看Python操作数据库有啥不一样的. 前期准备: 1.数据库 电脑上 ...

  4. python 3.6 +pyMysql 操作mysql数据库

    版本信息:python:3.6 mysql:5.7 pyMysql:0.7.11 ########################################################### ...

  5. python + pymysql连接数据库报“(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)")”

    python + pymysql连接数据库报"(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)&quo ...

  6. python(pymysql)之mysql简单操作

    一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...

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

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

  8. Python 对Mysql的操作

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

  9. Python数据存储 — MySQL数据库操作

    本地安装MySQL 调试环境python3.6,调试python操作mysql数据库,首先要在本地或服务器安装mysql数据库. 安装参考:https://mp.csdn.net/postedit/8 ...

随机推荐

  1. web框架之Django

    windows下安装了Django后,在cmd里输入django-admin会返回Django的所有命令

  2. requests-html调用浏览器内核界面化源码改动

    在实例化HTMLSession时传入参数:headless=False即可在r.html.render()时显示界面化的浏览器

  3. linux-rsync-同步本地文件夹

    linux-rsync-同步本地文件夹 1.安装rsync: yum list rsync yum install rsync 3.使用rsync命令进行同步 rsync -av 源目录 目标目录

  4. JVM(五) 生产环境内存溢出调优

    1.gc配置参数 1.1 控制台打印gc日志 -verbose:gc -XX:+PrintGCDetails -XX:+PrintHeapAtGC(详细的gc信息) 1.2 输出gc日志到指定文件 - ...

  5. SVN增加访问用户

    1.在Linux中进入SVN配置文件目录. 2.authz是设置权限的,只读还是可读可写,passwd是增加访问用户的. vim passwd; vim authz;

  6. phpstrom xdebug phpstudy调试,跳不到设置断点的原因,以及配置方法

    设置的是127 的地址,而用localhost 方式请求,所以无法跳到断点 环境 phpstudy 2018 php 7.2.10 xdebug版本 (因为要与php版本要对应,注意别选错了,我的用的 ...

  7. 处理Oracle 监听文件listener.log

       如果连接时候变得较慢 查看Oracle日志记录,可能是因为此文件太大,超过2G, 需要定期清理,(如果多用户,记得用root,可能没权限) 查看listener.log? find / -nam ...

  8. http拦截器-HandlerInterceptor

    简介 拦截器我想大家都并不陌生,最常用的登录拦截.权限校验.防重复提交.记录日志等等,总之可以去做很多的事情. 自定义拦截器HandlerInterceptorAdapter 我们以记录日志为例,介绍 ...

  9. JDBC缓冲池配置druid.properties

    driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mytest?characterEncoding=UTF-8 ...

  10. golang 上传文件(包括 gin 实现)

    golang web服务有时候需要提供上传文件的接口,以下就是具体示例.为了示例简单(吐槽下 golang 的错误处理), 忽略了所有的错误处理.本文会用两种方式(标准库和gin)详细讲解 golan ...